我一直在尝试在条件中使用按钮的名称,在以下情况下检查从.getText()生成的字符串是否等于“ New Project:”,但是每次我尝试运行此代码时总是给我一个不等于“ New Project:”的结果,这是它的起始值,并运行第一个块。即使在#1处打印此字符串的值,我也已复制并粘贴了从中打印出的值,但它不起作用。我还通过用newProjectButton.getText()替换“ New Project”来证明,但这使该语句始终使用else块。我99%的确定我没有在“新项目:”上犯过拼写错误,而且我不确定自己在这里做错了什么,因此如果有人知道做错了什么,那将是一个很大的帮助

 if(event.getTarget() == newProjectButton1){
        if(newProjectButton.getText() != "New Project:"){
            System.out.println(newProjectButton.getText());//#1
            mainSplitPane.getItems().set(1, projectLayout);
            newProjectButton.setText(project.getProjectName());
        }else{
            projectLayout = project.initLayouts(loader, projectLayout, this);
            mainSplitPane.getItems().set(1, projectLayout);
        }


干杯

最佳答案

!newProjectButton.getText().equals("New Project:")应该做。

在这里,您正在比较引用相等,但是您要尝试的是值相等。

因此,equals()将检查值,而==将检查引用。

10-06 07:04