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



我一直试图在条件下使用按钮的名称,检查从.getText()生成的字符串是否等于"新项目:"在下面的情况下,但每次我尝试运行此代码时,它总是给我一个"不等于"的结果"新项目:"这是它的起始值,并运行第一个块。即使在#1中,它打印了这个字符串的值,我已经复制并粘贴了从中打印出来的值,但它不起作用。我还通过用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()将检查值,而==将检查引用

最新更新