学习目标:
STEP1. 使用SWING做一个简单的登录界面;
学习内容:
首次接触使用SWING类,学习按钮监听器的使用;
步骤:
1)在Idea中建立一个SWING项目,建立一个panel1对象;
2)编写一个初始化Pannel的方法:
private static void CreatGUI()
{
JFrame frame= new JFrame("用户登陆界面"); //定义一个框架
JPanel rootPane=new SwingDemo().panel1; //定义一个面板
frame.setContentPane(rootPane); //把面板放在框架里
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //激活关闭按钮;
frame.pack(); //在你没加f.pack()之前,f窗体的大小是(0,0) 当你加了以后,f的大小会被设置为最佳大小,也就是prefrredSize
frame.setSize(320, 200); //指定框架的尺寸;
frame.setLocationRelativeTo(rootPane); //面板生成后,在整个窗体中居中
frame.setVisible(true); //面板可视
JFrame.setDefaultLookAndFeelDecorated(true);
placeComponents(rootPane);
}
3) 配置Main函数;
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
CreatGUI();
}
});
}
4)编写界面上的按钮及用户名、密码输入框;
private static void placeComponents(JPanel panel) {
/* 布局部分我们这边不多做介绍
* 这边设置布局为 null
*/
panel.setLayout(null);
// 创建 JLabel
JLabel userLabel = new JLabel("User:");
/* 这个方法定义了组件的位置。
* setBounds(x, y, width, height)
* x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。
*/
userLabel.setBounds(10,20,80,25);
panel.add(userLabel);
/*
* 创建文本域用于用户输入
*/
JTextField userText = new JTextField(20);
userText.setBounds(100,20,165,25);
panel.add(userText);
// 输入密码的文本域
JLabel passwordLabel = new JLabel("Password:");
passwordLabel.setBounds(10,50,80,25);
panel.add(passwordLabel);
/*
*这个类似用于输入的文本域
* 但是输入的信息会以点号代替,用于包含密码的安全性
*/
JPasswordField passwordText = new JPasswordField(20);
passwordText.setBounds(100,50,165,25);
panel.add(passwordText);
// 创建登录按钮
JButton loginButton = new JButton("login");
loginButton.setBounds(350/2-40, 200/2-12, 80, 25);
panel.add(loginButton);
ActionListener listener=new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.print("Test OK!\r\n");
}
};
loginButton.addActionListener(listener);
}
5)注意这里面添加了一个监听器,将按钮loginButton绑定到ActionListener监听器上;
6)启动测试,效果图如下;

7) 完了,这是最基础的一步,复杂的后续再研究吧。
这篇博客介绍了如何使用Java的SWING库创建一个基础的登录界面。通过设置布局、添加组件如用户名和密码输入框,以及绑定ActionListener监听器到登录按钮,实现了用户交互功能。文章详细展示了从创建框架、定义面板、设置组件到添加事件监听的步骤,并提供了最终的运行效果截图。
934

被折叠的 条评论
为什么被折叠?



