庞玉栋个人博客、人生苦短-我用Python

科研信息管理系统-论文管理之菜单导航版

发布时间:8年前热度: 965 ℃评论数:
package view;

import java.awt.AWTEvent;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import java.net.URLClassLoader;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JToolBar;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.plaf.basic.BasicBorders;

public class ResearchMain extends JFrame implements ActionListener{
	//框架大小
	Dimension faceSize=new Dimension(950, 650);
	Image icon;
	ImageIcon banner;
	//程序图标
	JPanel panel1;
	JLabel jLabel;

	JMenuBar menuBar;
	
	JMenu menu1;
	JMenu menu2;
	JMenu menu3;
	JMenu menu4;
	JMenu menu5;
	
	JMenuItem item1;
	JMenuItem item2;
	JMenuItem item3;
	JMenuItem item4;
	JMenuItem item5;
	JMenuItem item6;
	JMenuItem item7;
	JMenuItem item8;
	JMenuItem item9;
	JMenuItem item10;
	
	//boolean packFame=false;
	public ResearchMain() {
		this.setLayout(new BorderLayout());//边框布局
		enableEvents(AWTEvent.WINDOW_EVENT_MASK);
		//添加框架的关闭时间处理2
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//窗口自适应大小 使窗体能正好显示里面的所有控件
		this.pack();
		//设置框架的大小
		this.setSize(faceSize);
		//设置窗体的标题
		this.setTitle("科研信息管理系统");
		//调用自定义的方法GetImage() ,获取图标文件
		icon=getImage("icon.png");
		//设置窗体图标
		this.setIconImage(icon);
		//设置不能调整窗体的大小
		this.setResizable(false);
		//获取屏幕大小
		Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
		//获取当前项目的窗体大小
		Dimension frameSize=this.getSize();
		//如果项目窗体高>屏幕高,用屏幕高设置项目窗体高
		if (frameSize.height>screenSize.height) {
			frameSize.height=screenSize.height;
		}
		if (frameSize.width>screenSize.width) {
			frameSize.width=screenSize.width;
		}
		//设置窗体起始显示位置 居中显示
		this.setLocation((screenSize.width-frameSize.width)/2,
		(screenSize.height-frameSize.height)/2);
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (ClassNotFoundException | InstantiationException | IllegalAccessException
				| UnsupportedLookAndFeelException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		try {
			bt();//初始化标题栏
			gj();//工具栏
			tp();//图片
			addListener();//监听
			this.setVisible(true);
	
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}		
		
	}
	public void bt() {
		menuBar=new JMenuBar();
		this.setJMenuBar(menuBar);
		menu1=new JMenu("系统设置");
		menuBar.add(menu1);
		menu2=new JMenu("论文信息管理");
		menuBar.add(menu2);
		menu3=new JMenu("教师信息管理");
		menuBar.add(menu3);
		menu4=new JMenu("部门信息管理");
		menuBar.add(menu4);
		menu5=new JMenu("帮助");
		menuBar.add(menu5);
		item1=new JMenuItem("用户管理");
		item2=new JMenuItem("退出系统");
		menu1.add(item1);
		menu1.add(item2);
		item3=new JMenuItem("论文信息管理");
		item4=new JMenuItem("论文信息查询");
		menu2.add(item3);
		menu2.add(item4);
		item5=new JMenuItem("教师基本信息管理");
		item6=new JMenuItem("教师基本信息查询");
		menu3.add(item5);
		menu3.add(item6);
		item7=new JMenuItem("部门基本信息管理");
		item8=new JMenuItem("部门基本信息查询");
		menu4.add(item7);
		menu4.add(item8);
		item9=new JMenuItem("帮助");
		item10=new JMenuItem("关于");
		menu5.add(item9);
		menu5.add(item10);
		menuBar.setVisible(true);
		
	}
	public void gj() {
		JToolBar toolBar = new JToolBar(); 
		JButton  ambtn,asbtn,tmbtn,dmbtn,help,about; 
		ambtn=new JButton(new ImageIcon("res/card.png"));
		asbtn=new JButton(new ImageIcon("res/folder.png"));
		tmbtn=new JButton(new ImageIcon("res/info.png"));
		dmbtn=new JButton(new ImageIcon("res/save.png"));
		help=new JButton(new ImageIcon("res/help.png"));
		about=new JButton(new ImageIcon("res/user.png"));
		toolBar.add(ambtn);
		toolBar.add(asbtn);
		toolBar.add(tmbtn);
		toolBar.add(dmbtn);
		toolBar.add(help);
		toolBar.add(about);
		this.add(toolBar,BorderLayout.NORTH);
	}
	public void tp() {
		banner=new ImageIcon("res/image.png");
		jLabel=new JLabel(banner);
		panel1=new JPanel();
		panel1.add(jLabel);
		this.add(panel1,BorderLayout.CENTER);
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new ResearchMain();
		
	}

	/**   * 通过给定的文件名获得图像   */
	
	Image getImage(String filename){ 
		//URLClassLoader--用于从指向 jar文件和目录的 URL 的搜索路径加载类和资源。
		URLClassLoader urlLoader=(URLClassLoader) this.getClass().getClassLoader(); 
		
		URL  url=null;   
		Image image=null;
		url=urlLoader.findResource(filename); 
		image=Toolkit.getDefaultToolkit().getImage(url); 
		MediaTracker mediaTracker=new MediaTracker(this); 
		 try { 
			 mediaTracker.addImage(image, 0); 
			 mediaTracker.waitForID(0); 
		 }catch (InterruptedException _ex){
			 image=null;
		 }
		 if (mediaTracker.isErrorID(0)) {
			 image=null;
		 }
		 return image;
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		Object obj=e.getSource();
		if (obj==item2) {
			System.exit(0);
		}
		
	}
	public void addListener() {
		item2.addActionListener(this);
	}
	
}

科研,导航

手机扫码访问