gpt4 book ai didi

java - 从任何地方访问组合框值

转载 作者:行者123 更新时间:2023-12-02 02:38:38 24 4
gpt4 key购买 nike

我有两个组合框,我可以很好地从中获取值。问题是,我希望当两个盒子都处于特定值时,就会发生一些事情。但我无法在其自己的监听器之外访问任何一个框的值。

盒子的监听器:

character_class.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>(){
public void changed(ObservableValue<? extends String> ov, String old_val, String new_val){

也许我错过了一些简单的东西,因为我一整天都在这个项目上工作,几乎没有休息,但我无法从监听器之后的其他地方访问 new_val 。尝试将其公开失败,因为由于某种原因它只允许 final 作为修饰符。

最佳答案

对于两个更改监听器,只需获取另一个 ComboBox 的值,并通过调用 combobox.getValue() 检查它是否与特定值匹配

    ComboBox<String> c1 = new ComboBox<String>();
c1.getItems().addAll("red", "blue", "green");

ComboBox<String> c2 = new ComboBox<String>();
c2.getItems().addAll("yellow", "purple", "blue");

c1.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {
@Override
public void changed(ObservableValue observable, Object oldValue, Object newValue) {
String val = (String) newValue;
if(val.equals(c2.getValue())){
System.out.println("IT'S SAME");
} else {
System.out.println("Keep trying");
}
}
});

对于其他组合框反之亦然。

关于java - 从任何地方访问组合框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45852449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com