运行结果:
代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ljt2 {
public static void main(String[] args) {
// 创建窗体
JFrame frame = new JFrame("学生信息管理系统");
frame.setSize(300, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new GridLayout(4, 2));
// 创建用户名、密码输入框和角色选择按钮组
JTextField usernameField = new JTextField();
JPasswordField passwordField = new JPasswordField();
ButtonGroup roleGroup = new ButtonGroup();
JRadioButton adminRadioButton = new JRadioButton("管理员");
JRadioButton studentRadioButton = new JRadioButton("学生");
// 将单选按钮添加到按钮组中
roleGroup.add(adminRadioButton);
roleGroup.add(studentRadioButton);
// 创建登录和注册按钮
JButton loginButton = new JButton("登录");
JButton registerButton = new JButton("注册");
// 将组件添加到窗体中
frame.add(new JLabel(" 用户名:"));
frame.add(usernameField);
frame.add(new JLabel(" 密码:"));
frame.add(passwordField);
frame.add(adminRadioButton);
frame.add(studentRadioButton);
frame.add(loginButton);
frame.add(registerButton);
// 设置登录按钮点击事件的处理逻辑
loginButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String username = usernameField.getText();
String password = new String(passwordField.getPassword());
boolean isAdmin = adminRadioButton.isSelected();
boolean isStudent = studentRadioButton.isSelected();
// 如果用户名和密码为空,则提示并返回
if (username.isEmpty() || password.isEmpty()) {
JOptionPane.showMessageDialog(frame, "请输入用户名和密码", "提示", JOptionPane.WARNING_MESSAGE);
return;
}
// 如果角色为空,则提示并返回
if (!isAdmin && !isStudent) {
JOptionPane.showMessageDialog(frame, "请选择一种角色", "提示", JOptionPane.WARNING_MESSAGE);
return;
}
// 执行管理员登录逻辑
if (isAdmin) {
JOptionPane.showMessageDialog(frame, "管理员登录");
}
// 执行学生登录逻辑
else if (isStudent) {
JOptionPane.showMessageDialog(frame, "学生登录");
}
// 其他操作...
}
// 设置注册按钮点击事件的处理逻辑
});
// 显示窗体
frame.setVisible(true);
}
}
总结:
这是一个简单的学生信息管理系统的Java代码。它创建了一个窗体,包含用户名输入框、密码输入框、角色选择单选按钮组、登录按钮和注册按钮。当用户点击登录按钮时,根据所选的角色执行相应的登录逻辑。如果用户名或密码为空,则提示用户输入;如果没有选择角色,则也会提示用户选择角色。管理员登录和学生登录的处理逻辑可以在相应的条件分支中添加。