当我点击tabPane的一个标签时,我正在尝试做某些事情,我尝试过使用Action Event但它不起作用:
public void tabPressClicked (ActionEvent event){
comboBoxPresYear.setVisible(true);
lblPresYear.setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)
[EDITED]
正确的方法:
tabPresentation.setOnSelectionChanged(new EventHandler<Event>() {
@Override
public void handle(Event t) {
if (tabPresentation.isSelected()) {
comboBoxPresYear.setVisible(true);
lblPresYear.setVisible(true);
}
}
});
Run Code Online (Sandbox Code Playgroud)
Puc*_*uce 13
我不确定你要做什么/你期待什么ActionEvent但尝试以下方面:
tabPane.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> ov, Number oldValue, Number newValue) {
// do something...
}
});
Run Code Online (Sandbox Code Playgroud)
如果你想在选择改变时做某事(任何标签)
或尝试:
对于特定的选项卡(我还没有尝试过).
小智 13
你这样做selectedItemProperty或者selectedIndexProperty像Puce说的那样.这里的解决方案与selectedItemProperty我认为更好,因为您获得所选Tab项目本身
tabPane.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<Tab>() {
@Override
public void changed(ObservableValue<? extends Tab> observable, Tab oldTab, Tab newTab) {
if(newTab == tabPresentation) {
comboBoxPresYear.setVisible(true);
lblPresYear.setVisible(true);}
}
});
Run Code Online (Sandbox Code Playgroud)
我认为这tabPresentation是Tab对象本身.
| 归档时间: |
|
| 查看次数: |
22749 次 |
| 最近记录: |