1、界面居中显示
frame.setResizable(false);
fame.setLocationRelativeTo(null);
frame.setVisible(true)
2、全屏操作
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
frame.setUndecorated(true);
frame.setSize(screenSize.width,screenSize.height);
注:全屏操作后界面无法退出,要设置键盘监听事件,退出程序
3、局部键盘监听
按ESC键退出程序
frame.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_ESCAPE) {
System.exit(0);
}
}
});
其他键的监听
frame.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_SPACE) { //空格键的监听
System.exit(0); //按空格键后想完成的操作,比如页面跳转等,这里表示退出程序
}
}
});
全局键盘监听:按任意键退出
Toolkit.getDefaultToolkit().addAWTEventListener((AWTEventListener) new AWTEventListener() {
public void eventDispatched(AWTEvent event) {
if (((KeyEvent) event).getID() == KeyEvent.KEY_PRESSED) {
System.exit(0);
}
}
}, AWTEvent.KEY_EVENT_MASK);
4、插入图片
JLabel label1=new JLabel();
ImageIcon i=new ImageIcon("./1.jpg"); //图片存储路径
label1.setIcon(i);
frame.add(label1);
5、设置标签的文字字体以及大小以及居中显示
JLabel label2=new JLabel("欢迎来到火车票购票系统",JLabel.CENTER); //居中显示
label2.setFont(new Font("",Font.BOLD,40));
6、设置各组件的位置
frame.setLayout(null);
label2.setBounds(100,50,50, 50);//(100,50)是组件相对于窗体的位置,(50,50)是组件的大小
根据以上内容做一个简单的登录系统
package 购票系统;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.*;
public class denglu {
JFrame frame=new JFrame("登录");
JLabel label1=new JLabel();
JLabel label2=new JLabel("欢迎来到火车票购票系统",JLabel.CENTER);
JLabel label3=new JLabel("用户登录",JLabel.CENTER);
JLabel label4=new JLabel("用户名",JLabel.CENTER);
JLabel label5=new JLabel("密码",JLabel.CENTER);
JTextField n1=new JTextField();
JTextField n2=new JTextField();
JButton button1=new JButton("登录");
JButton button2=new JButton("注册");
public denglu() {
label2.setFont(new Font("",Font.BOLD,40));
label3.setFont(new Font("",Font.BOLD,30));
label4.setFont(new Font("",Font.BOLD,20));
label5.setFont(new Font("",Font.BOLD,20));
frame.setLayout(null);
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
frame.setUndecorated(true);
frame.setSize(screenSize.width, screenSize.height);
ImageIcon i=new ImageIcon("./1.jpg");
Image temp=i.getImage().getScaledInstance((int)screenSize.getWidth()/2,(int)screenSize.getHeight()-200, i.getImage().SCALE_DEFAULT);
i=new ImageIcon(temp);
label1.setIcon(i);
label1.setBounds(20, 100, screenSize.width/2, screenSize.height-80);
label2.setBounds(0,50,screenSize.width/2, 100);
label3.setBounds(screenSize.width/2,250,screenSize.width/2, 100);
label4.setBounds(screenSize.width/2,350,screenSize.width/4, 30);
n1.setBounds(screenSize.width/2+screenSize.width/6,350,300, 30);
label5.setBounds(screenSize.width/2,400,screenSize.width/4, 30);
n2.setBounds(screenSize.width/2+screenSize.width/6,400,300, 30);
button1.setBounds(screenSize.width/2+200,500,100, 30);
button2.setBounds(screenSize.width/2+350,500,100, 30);
frame.add(label1);
frame.add(label2);
frame.add(label3);
frame.add(label4);
frame.add(label5);
frame.add(n1);
frame.add(n2);
frame.add(button1);
frame.add(button2);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_ESCAPE) {
System.exit(0);
}
}
});
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new denglu();
}
}
运行结果如下: