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