学生信息管理系统之一:用户登录模块界面的设计与实现

用户登录模块是常见的应用程序入口,主要功能是验证用户名和密码。其界面效果如下图所示。

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

  

posted @ 2021-01-12 10:18  爱编程的小蜜蜂  阅读(2031)  评论(0)    收藏  举报