1、编写一个用户登陆程序,具体要求如下: ①用户界面大小为200*160像素,居中显示,如下图所示: ②用户类型包括学生用户和教师用户,缺省为学生用户。 ③“确定”按钮功能:如果用户名为空,则打印"用户名不可为空!";如果密码为空,则打印"密码不可为空!";如果是学生用户,用户名和密码都是s,登陆成功则打印"学生用户登陆成功";如果是教师用户,用户名和密码都是t;登陆成功则打印"教师用户登陆成功";如果登陆不成功,则打印"用户名不存在或者密码不正确!"。 ④“取消”按钮功能:将用户名和密码的输入框清空。 ⑤“退出”按钮功能:退出程序 ⑥窗口事件不处理,即单击关闭按钮不能退出程序。
时间: 2024-03-25 22:39:23 浏览: 53
用户登录界面要求
好的,以下是Java Swing实现的代码示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class LoginFrame extends JFrame implements ActionListener {
private JTextField usernameField;
private JPasswordField passwordField;
private JButton okBtn, cancelBtn, exitBtn;
private JLabel userTypeLabel, usernameLabel, passwordLabel;
private JPanel mainPanel, buttonPanel;
private String userType = "学生用户";
public LoginFrame() {
setTitle("用户登录");
setSize(200, 160);
setLocationRelativeTo(null);
setResizable(false);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
usernameLabel = new JLabel("用户名:");
passwordLabel = new JLabel("密 码:");
userTypeLabel = new JLabel("用户类型:");
usernameField = new JTextField(10);
passwordField = new JPasswordField(10);
okBtn = new JButton("确定");
cancelBtn = new JButton("取消");
exitBtn = new JButton("退出");
okBtn.addActionListener(this);
cancelBtn.addActionListener(this);
exitBtn.addActionListener(this);
buttonPanel = new JPanel();
buttonPanel.add(okBtn);
buttonPanel.add(cancelBtn);
buttonPanel.add(exitBtn);
mainPanel = new JPanel(new GridLayout(3, 2));
mainPanel.add(userTypeLabel);
mainPanel.add(new JLabel(userType));
mainPanel.add(usernameLabel);
mainPanel.add(usernameField);
mainPanel.add(passwordLabel);
mainPanel.add(passwordField);
add(mainPanel, BorderLayout.CENTER);
add(buttonPanel, BorderLayout.SOUTH);
setVisible(true);
}
public static void main(String[] args) {
new LoginFrame();
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == okBtn) {
String username = usernameField.getText();
String password = String.valueOf(passwordField.getPassword());
if (username.isEmpty()) {
JOptionPane.showMessageDialog(this, "用户名不可为空!", "提示", JOptionPane.WARNING_MESSAGE);
} else if (password.isEmpty()) {
JOptionPane.showMessageDialog(this, "密码不可为空!", "提示", JOptionPane.WARNING_MESSAGE);
} else {
if (userType.equals("学生用户") && username.equals("s") && password.equals("s")) {
JOptionPane.showMessageDialog(this, "学生用户登陆成功", "提示", JOptionPane.INFORMATION_MESSAGE);
} else if (userType.equals("教师用户") && username.equals("t") && password.equals("t")) {
JOptionPane.showMessageDialog(this, "教师用户登陆成功", "提示", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(this, "用户名不存在或者密码不正确!", "提示", JOptionPane.WARNING_MESSAGE);
}
}
} else if (e.getSource() == cancelBtn) {
usernameField.setText("");
passwordField.setText("");
} else if (e.getSource() == exitBtn) {
System.exit(0);
}
}
}
```
代码实现了窗口的布局和事件处理,包括按钮事件和窗口事件。在“确定”按钮事件中,对用户名和密码进行验证,根据用户类型进行不同的处理,显示不同的提示信息。在“取消”按钮事件中,清空输入框中的内容。在“退出”按钮事件中,退出程序。
阅读全文