Java可视化界面设计(登录界面设计)

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

}

运行结果如下:

猜你喜欢

转载自blog.csdn.net/lxy20011125/article/details/128443524