不省略 user类面向对象程序设计Java设计登录页面 username password phonenumber 实例化以及JFrame代码
时间: 2024-09-24 20:28:52 浏览: 34
在Java面向对象程序设计中,创建一个用户登录界面通常会涉及到`User`类的设计,包含username、password和phonenumber属性。下面是一个简单的示例,展示了如何实例化这个类,并结合JFrame构建登录窗口:
```java
// 首先定义User类
public class User {
private String username;
private String password;
private String phoneNumber;
// 构造函数
public User(String username, String password, String phoneNumber) {
this.username = username;
this.password = password;
this.phoneNumber = phoneNumber;
}
// 获取和设置方法
// ... (这里仅展示getters和setters)
public String getUsername() { return username; }
public void setUsername(String username) { this.username = username; }
public String getPassword() { return password; }
public void setPassword(String password) { this.password = password; }
public String getPhoneNumber() { return phoneNumber; }
public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; }
}
// 然后,在主类里,我们可以这样实例化并显示JFrame
import javax.swing.*;
import java.awt.*;
public class Main {
public static void main(String[] args) {
// 创建User对象
User user = new User("exampleUsername", "examplePassword", "1234567890");
// 创建登录界面窗口
JFrame loginFrame = new JFrame("Login Page");
loginFrame.setSize(400, 300);
loginFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 添加组件(假设我们有一个表单来输入用户名、密码和电话)
JTextField jTextFieldUsername = new JTextField(user.getUsername());
JTextField jTextFieldPassword = new JTextField("*(hidden)");
JTextField jTextFieldPhoneNumber = new JTextField(user.getPhoneNumber());
// 添加提交按钮
JButton jButtonLogin = new JButton("Login");
jButtonLogin.addActionListener(e -> {
String enteredUsername = jTextFieldUsername.getText();
String enteredPassword = jTextFieldPassword.getText();
String enteredPhone = jTextFieldPhoneNumber.getText();
// 这里可以添加验证逻辑
if (enteredUsername.equals(user.getUsername()) && enteredPassword.equals(user.getPassword())) {
System.out.println("Login successful with phone number: " + enteredPhone);
} else {
JOptionPane.showMessageDialog(loginFrame, "Invalid credentials!");
}
});
// 将组件添加到窗口
JPanel panel = new JPanel(new GridLayout(3, 2));
panel.add(new JLabel("Username:"));
panel.add(jTextFieldUsername);
panel.add(new JLabel("Password:"));
panel.add(jTextFieldPassword);
panel.add(new JLabel("Phone Number:"));
panel.add(jTextFieldPhoneNumber);
panel.add(jButtonLogin);
loginFrame.getContentPane().add(panel);
loginFrame.setVisible(true);
}
}
```
阅读全文