如何从按钮 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()
将检查值,而 ==
检查引用。
我一直在尝试在条件中使用按钮的名称,检查从 .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()
将检查值,而 ==
检查引用。