【问题标题】:How to get the correct text value from a button javafx如何从按钮 javafx 中获取正确的文本值
【发布时间】:2015-07-29 17:05:12
【问题描述】:

我一直在尝试在条件中使用按钮的名称,检查从.getText()生成的字符串在下面的情况下是否等于“新项目:”,但每次我尝试运行这段代码总是给我一个“不等于”的结果,“新项目:”是它的起始值,并运行第一个块。即使在#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);
        }

干杯

【问题讨论】:

  • 这将帮助您更好地理解 == 和 equals 之间的区别:== vs equals

标签: java javafx javafx-8 conditional-statements


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2018-10-14
    • 2015-02-14
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 2015-08-01
    • 1970-01-01
    相关资源
    最近更新 更多