Java 使用actionlistener从另一个类调用函数

Java 使用actionlistener从另一个类调用函数,java,swing,oop,actionlistener,Java,Swing,Oop,Actionlistener,Actionlistener代码 Player p = new Player(); /** ** Other code here **/ private static JLabel Status; final JTextField username = new JTextField(6); loginButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e)

Actionlistener代码

Player p = new Player();
/**
** Other code here
**/
private static JLabel Status;
final JTextField username = new JTextField(6);
loginButton.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {     
           data = username.getText();
                if(p.Login(data)){
        Status.setText(data+" is correct");
    } else {
        Status.setText(data+" is wrong");
    }
         }
      });
玩家等级代码

  public boolean login(String username){
    if(username == "adam"){
        return true;
    } else {
    return false;
    }
  }
我总是发现用户名是错误的,无论有什么输入,我应该怎么做?我做错了什么?

您必须使用
equals()
而不是
=
来比较字符串

注意:=检查对对象的引用是否相等

注意:equals()此方法将此字符串与指定的对象进行比较。当且仅当参数不为null并且是表示与此对象相同的字符序列的字符串对象时,结果为true

您必须使用
equals()
而不是
=
来比较字符串

注意:=检查对对象的引用是否相等

注意:equals()此方法将此字符串与指定的对象进行比较。当且仅当参数不为null并且是表示与此对象相同的字符序列的字符串对象时,结果为true

您的错误在于:

public boolean login(String username){
    if(username == "adam"){
        return true;
    } else {
        return false;
    }
}
您需要更改:

if(username == "adam"){
致:

这是一个典型的字符串比较错误。希望这有帮助:)

您的错误在于:

public boolean login(String username){
    if(username == "adam"){
        return true;
    } else {
        return false;
    }
}
您需要更改:

if(username == "adam"){
致:


这是一个典型的字符串比较错误。希望这有帮助:)

请解释发生了什么,而不仅仅是发布代码答案请解释发生了什么,而不仅仅是发布代码答案