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); } }

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