Java 组合框选定的同一项操作侦听器
如果选择了不同的值,组合框将触发事件。我还希望能够侦听所选的同一项(即valueProperty没有更改)。似乎没有办法做到这一点 我试着扩展组合框,并找到一种方法来监听关闭的小弹出菜单,但我甚至无法访问它!我能做什么 以下是我所尝试的:Java 组合框选定的同一项操作侦听器,java,events,combobox,javafx,javafx-8,Java,Events,Combobox,Javafx,Javafx 8,如果选择了不同的值,组合框将触发事件。我还希望能够侦听所选的同一项(即valueProperty没有更改)。似乎没有办法做到这一点 我试着扩展组合框,并找到一种方法来监听关闭的小弹出菜单,但我甚至无法访问它!我能做什么 以下是我所尝试的: class ResponsiveComboBox<E> extends ComboBox<E> { public ResponsiveComboBox() { super(); assert g
class ResponsiveComboBox<E> extends ComboBox<E> {
public ResponsiveComboBox() {
super();
assert getContextMenu() != null; //Asssertion failed!
this.getContextMenu().setOnHiding((WindowEvent event) -> {
fireEvent(new ActionEvent());
});
}
}
类响应组合框扩展组合框{
公共响应组合框(){
超级();
断言getContextMenu()!=null;//关联失败!
this.getContextMenu().setOnHiding((WindowEvent事件)->{
fireEvent(新的ActionEvent());
});
}
}
此事件处理程序可能在值更改之前触发。太棒了!它同时也为我解决了onCancelEdit。再次感谢。
comboBox.showingProperty().addListener((obs, wasShowing, isShowing) -> {
if (! isShowing) {
System.out.println("Combo box popup hidden");
}
});