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
鲁公网安备37081102000289号