学生信息管理系统之一:用户登录模块界面的设计与实现
用户登录模块是常见的应用程序入口,主要功能是验证用户名和密码。其界面效果如下图所示。

用Java代码具体实现步骤如下:
1. 新建类文件LoginFrame.java。具体为,在新建好的Java Project(项目名:StudentManager)中,点击src->右键新建Class,包名为com.view,类名为LoginFrame.java。 
新建之后,LoginFrame.java文件中代码为:
package com.view;
public class LoginFrame {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
2. 完成界面的设计。
2.1 导入相关包。 LoginFrame继承父类JFrame。
import java.awt.*; import javax.swing.*;
public class LoginFrame extends JFrame{
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
2.2 LoginFrame类中声明成员变量,表示各个组件。在初始化方法jbInit()中完成各个成员变量的创建。
JPanel jp; //面板容器声明
JLabel jLabel1; //用户名标签声明
JTextField jTextField1 ; //用户名输入框声明
JLabel jLabel2 ; //密码标签声明
JTextField jTextField2 ; //密码输入框声明
JButton jButton1 ; //确定按钮声明
JButton jButton2; //取消按钮声明
private void jbInit() throws Exception {
jp = new JPanel();
jLabel1 = new JLabel("用户名:");
jTextField1 = new JTextField(10);
jLabel2 = new JLabel("密 码:");
jTextField2 = new JPasswordField(10);
jButton1 = new JButton("确定");
jButton2 = new JButton("取消");
}
2.3 在初始化方法jbInit()中设置布局方式,设置各个组件的位置,添加各个组件到当前窗体。
jp.setLayout(null);
jLabel1.setBounds(new Rectangle(50, 50, 60, 30)); jTextField1.setBounds(new Rectangle(120, 50, 140, 30)); jLabel2.setBounds(new Rectangle(50, 100, 60, 30)); jTextField2.setBounds(new Rectangle(120, 100, 140, 30)); jButton1.setBounds(new Rectangle(70, 160, 80, 30)); jButton2.setBounds(new Rectangle(160, 160, 80, 30));
jp.add(jLabel1); jp.add(jTextField1); jp.add(jLabel2); jp.add(jTextField2); jp.add(jButton1); jp.add(jButton2); this.add(jp);
2.4 在初始化方法jbInit()中,设置窗体的标题,设置窗体的大小和位置,设置标题栏“关闭”按钮的响应动作,设置窗体可见。
setTitle("登录界面");
this.setSize(new Dimension(320, 260)); this.setLocation(250, 100);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
2.5 构造方法中调用初始化方法,完成对象的初始化。
public LoginFrame() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
3. 完成按钮的事件处理。
3.1 完成按钮1事件处理。(jbInit()方法中添加按钮1监听器,完成方法jButton1ActionPerformed()的定义。)
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if(this.jTextField1.getText().equals("admin") && this.jTextField2.getText().equals("admin"))
{
StudentManager.stuManage=new StudentManager();
this.dispose();
}
else
{
JOptionPane.showMessageDialog(this, "用户名或密码错误,请重新输入!");
}
}
3.2 完成按钮2事件处理。(jbInit()方法中添加按钮2监听器,完成方法jButton2ActionPerformed()的定义。)
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}

浙公网安备 33010602011771号