如何从按钮 javafx 获取正确的文本值

How to get the correct text value from a button javafx

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

 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() 将检查值,而 == 检查引用。