package view; import java.awt.AWTEvent; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Font; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Image; import java.awt.Insets; 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.JPanel; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import com.jnzj.common.Commom; public class ResAbout extends JFrame implements ActionListener{ Image icon; ImageIcon banner; JLabel jLabel; JLabel jLabel2; JLabel jLabel3; JLabel jLabel4; JLabel jLabel5; JPanel jPanel; JPanel jPanel2; JPanel jPanel3; JButton jButton; private GridBagConstraints girdBagCon; private GridBagLayout girdBag=new GridBagLayout(); public ResAbout() { // TODO Auto-generated constructor stub this.setLayout(new BorderLayout());//边框布局 //enableEvents(AWTEvent.WINDOW_EVENT_MASK); //添加框架的关闭时间处理2 //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //窗口自适应大小 使窗体能正好显示里面的所有控件 this.pack(); //设置框架的大小 this.setSize(500,400); //设置窗体的标题 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 { top(); central(); down(); addListener();//监听 this.setVisible(true); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } private void addListener() { // TODO Auto-generated method stub jButton.addActionListener(this); } public void top() { jPanel=new JPanel(); jPanel.setLayout(girdBag); jLabel=new JLabel("1.科研管理系统V1.0\t"); jLabel.setFont(new Font("Dialog", 0, 12)); girdBagCon=new GridBagConstraints(); girdBagCon.gridx=0; girdBagCon.gridy=1; //外部填充 4个参数 top,left,bottom,right //既外部间距 //girdBagCon.insets=new Insets(0, 10, 10, 1); girdBag.setConstraints(jLabel, girdBagCon); jLabel2=new JLabel("2.版权归2017doft公司所有 翻录必究"); jLabel2.setFont(new Font("Dialog", 0, 12)); girdBagCon=new GridBagConstraints(); girdBagCon.gridx=0; girdBagCon.gridy=2; //外部填充 4个参数 top,left,bottom,right //既外部间距 //girdBagCon.insets=new Insets(0, 10, 10, 1); girdBag.setConstraints(jLabel2, girdBagCon); jLabel3=new JLabel("3.联系方式:"); jLabel3.setFont(new Font("Dialog", 0, 12)); girdBagCon=new GridBagConstraints(); girdBagCon.gridx=0; girdBagCon.gridy=3; //外部填充 4个参数 top,left,bottom,right //既外部间距 //girdBagCon.insets=new Insets(0, 10, 10, 1); girdBag.setConstraints(jLabel3, girdBagCon); jLabel4=new JLabel("4.我们的口号是:代码演绎人生 算法助推梦想"); jLabel4.setFont(new Font("Dialog", 0, 12)); girdBagCon=new GridBagConstraints(); girdBagCon.gridx=0; girdBagCon.gridy=4; //外部填充 4个参数 top,left,bottom,right //既外部间距 //girdBagCon.insets=new Insets(0, 10, 10, 1); girdBag.setConstraints(jLabel4, girdBagCon); jPanel.add(jLabel); jPanel.add(jLabel); jPanel.add(jLabel2); jPanel.add(jLabel3); jPanel.add(jLabel4); this.add(jPanel,BorderLayout.NORTH); } public void central() { jPanel2=new JPanel(); banner=new ImageIcon("res/image.png"); jLabel5=new JLabel(banner); jPanel2.add(jLabel5); this.add(jPanel2,BorderLayout.CENTER); } public void down() { jPanel3=new JPanel(); this.add(jPanel3,BorderLayout.SOUTH); jButton=new JButton("关闭"); jPanel3.add(jButton); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub Object object=e.getSource(); if (object==jButton) { this.setVisible(false); } } /** * 通过给定的文件名获得图像 */ 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; } }

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