1.使用Java本身的
编程构建如图所示的登录界面
主函数测视类
public class MyFrameTest {
public static void main(String[] args) {
MyFrame frame = new MyFrame();
//设置单击窗体右上角的关闭图标后,结束窗体所在的应用程序
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true); //设置窗体可见(默认是隐藏的)
}
}
具体窗口类
package exer5.T1;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MyFrame extends JFrame {
public MyFrame() {
// 创建Toolkit对象,Tookit工具包类提供了很多实用方法
Toolkit kit = Toolkit.getDefaultToolkit();
// 获取屏幕大小
Dimension screenSize = kit.getScreenSize();
int screenHeight = screenSize.height;// 屏幕高
int screenWidth = screenSize.width; // 屏幕宽
// 设置窗体大小和位置
setSize(screenWidth / 3, screenHeight / 3);
setLocation(screenWidth / 3, screenHeight / 3);
setTitle("我的第一个窗体"); //设置窗体标题
setResizable(true); //设置窗体不可改变大小
JPanel contentPane = (JPanel) getContentPane();
JPanel panel1 = new JPanel(new FlowLayout());
JPanel panel2 = new JPanel(new FlowLayout());
JPanel panel3 = new JPanel(new FlowLayout());
contentPane.add(panel1, BorderLayout.NORTH);
contentPane.add(panel3, BorderLayout.CENTER);
contentPane.add(panel2, BorderLayout.SOUTH);
JLabel lblName = new JLabel("用户名:"); //姓名标签
JTextField txtName = new JTextField(10); //输入姓名的文本框
panel1.add(lblName);
panel1.add(txtName);
JLabel lblPassword = new JLabel("密 码:");//密码标签
JPasswordField pwd = new JPasswordField(10);//输入密码的密码框
panel3.add(lblPassword);
panel3.add(pwd);
JButton button1 = new JButton("确定");
JButton button2 = new JButton("取消");
panel2.add(button1);
panel2.add(button2);
pack();//调整窗口的大小,使其适应组件的大小和布局。
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
StringBuilder message = new StringBuilder();
message.append("用户名:").append(txtName.getText()).append("\n");
message.append("密 码:").append(pwd.getPassword()).append("\n");
//显示系统提示信息对话框
JOptionPane.showMessageDialog(null, message);
}
});
button2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
}