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

时间:2015-05-18 09:04:59

标签: java javafx javafx-8 conditional-statements

我一直在尝试在条件中使用按钮的名称,在下面的情况下检查.getText()生成的字符串是否等于“New Project:”,但每次我尝试为了运行这段代码,它总是给我一个“不等于”“New Project:”的结果,这是它的起始值,并运行第一个块。即使在#1,它打印了这个字符串的值,我已经复制并粘贴了从中打印出的值,但它不起作用。我还通过用newProjectButton.getText()替换“新项目”来证明,但这使得语句始终使用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);
        }

干杯

1 个答案:

答案 0 :(得分:3)

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

在这里,您要比较引用相等性,但您要做的是值相等。

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