本部分我们用Java创建了一个学生信息管理系统的登陆界面,登陆界面可以进行账号登陆,也可以转换到注册界面
这个界面我是模仿qq登录界面制作的,但是做了一些简化,本来向做一个本地化,做成中英双语版本,由于一些原因没有做,如果有这方面想法的大老可以帮忙搞一下!
package com.group;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import com.dao.UserDao;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import net.mah.util.DBUtil;
import java.awt.Container;
public class LoginText extends JFrame {
// 用户名
private JTextField username;
// 密码
private JPasswordField password;
// 小容器
private JLabel jl1;
private JLabel jl2;
private JLabel jl3;
private JLabel jl4;
// 小按钮
private JButton bu1;
private JButton bu2;
private JButton bu3;
// 列表框
private JComboBox jcb;
public LoginText() {
// 设置窗口标题
this.setTitle("学生管理系统");
// 窗口组件初始化
init();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置布局方式为绝对定位
this.setLayout(null);
this.setBounds(0, 0, 345, 290);
// 设置窗体的标题图标
Image image = new ImageIcon("C:/Users/北鼻熊/Desktop/login_back.jpg").getImage();
this.setIconImage(image);
// 窗口大小改变
this.setResizable(false);
// 居中显示
this.setLocationRelativeTo(null);
// 可见
this.setVisible(true);
}
private void init() {
// 创建一个容器
JFrame jf = this;
Container con = jf.getContentPane();
jl1 = new JLabel();
// 设置背景图片
Image image1 = new ImageIcon("C:/Users/北鼻熊/Desktop/login_back.jpg").getImage();
jl1.setIcon(new ImageIcon(image1));
jl1.setBounds(0, 0, 355, 256);
// 将 “学生管理系统” 显示在界面上
jl2 = new JLabel();
Image image2 = new ImageIcon("C:/Users/北鼻熊/Desktop/2.png").getImage();
jl2.setIcon(new ImageIcon(image2));
jl2.setBounds(35, 40, 255, 40);
// 用户号码登录输入框
username = new JTextField();
username.setBounds(100, 100, 150, 20);
// 账号输入框旁边的文字
jl3 = new JLabel("学 号 :");
jl3.setBounds(55, 100, 70, 20);
// 密码输入框
password = new JPasswordField();
password.setBounds(100, 130, 150, 20);
// 密码输入框旁边的文字
jl4 = new JLabel("密 码 :");
jl4.setBounds(55, 130, 70, 20);
// 按钮设定
bu1 = new JButton("登录");
bu1.setBounds(137, 200, 70, 30);
// 给按钮添加一个事件
bu1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (username.getText().equals("") || password.getText().equals("")) {
JOptionPane.showConfirmDialog(null, "必填项不许为空!", "警告", JOptionPane.OK_OPTION);
} else if (username.getText().equals("2017204526") && password.getText().equals("2017204526")) {
JOptionPane.showConfirmDialog(null, "管理员登录成功", null, JOptionPane.OK_OPTION);
jf.dispose();
new MonitorText();
} else if(UserDao.select(username.getText())!=null&&UserDao.select(username.getText()).trim().equals(password.getText())){
JOptionPane.showConfirmDialog(null, "普通用户登录成功", null, JOptionPane.OK_OPTION);
jf.dispose();
new StudentText();
}else {
JOptionPane.showConfirmDialog(null, "登录失败", null, JOptionPane.OK_OPTION);
}
}
});
bu2 = new JButton("找回");
bu2.setBounds(100, 160, 65, 20);
bu3 = new JButton("注册");
bu3.setBounds(185, 160, 65, 20);
// 给按钮添加一个事件,使用户点按钮后进入相应的界面
bu3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jf.dispose();
new RegisterText();
}
});
// 所有组件用容器装载
jl1.add(jl2);
jl1.add(jl3);
jl1.add(jl4);
jl1.add(bu1);
jl1.add(bu2);
jl1.add(bu3);
jl1.add(jl3);
// jl1.add(jcb);
con.add(jl1);
con.add(username);
con.add(password);
}
public static void main(String[] args) {
LoginText login = new LoginText();
}
}
因为部分原因,图片中的学生、班长选择框取消掉了,整体注释相对较全面,读者可以根据注意理解此程序