可以使用一个Boolean变量来跟踪当前状态是登录还是注册,然后在ActionListener中根据状态执行不同的代码。
例如:
public class LoginRegisterExample extends JFrame implements ActionListener {
private boolean isLoggingIn = true; // 初始状态为登录
private JButton loginButton;
private JButton registerButton;
public LoginRegisterExample() {
// 界面初始化代码
loginButton = new JButton("登录");
loginButton.addActionListener(this);
registerButton = new JButton("注册");
registerButton.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == loginButton) {
if (isLoggingIn) {
// 登录按钮逻辑代码
} else {
// 注册按钮逻辑代码
}
} else if (e.getSource() == registerButton) {
if (isLoggingIn) {
// 切换到注册状态
isLoggingIn = false;
loginButton.setText("返回登录"); // 将登录按钮文本修改为“返回登录”
registerButton.setText("完成注册"); // 将注册按钮文本修改为“完成注册”
} else {
// 注册按钮逻辑代码
}
}
}
}
在上面的示例中,我们使用isLoggingIn变量来跟踪当前状态。首先,我们设置初始状态为登录,并编写适当的登录逻辑代码。当用户单击registerButton时,我们将isLoggingIn设置为false,并将两个按钮上的文本分别修改为“返回登录”和“完成注册”。当用户单击loginButton时,我们只需根据当前状态执行适当的代码。这对于只有两种状态(例如登录和注册)的情况非常有用。如果您需要更多状态,则可以使用枚举类型来跟踪状态。