【发布时间】:2019-03-13 19:04:31
【问题描述】:
我有一个带有模型类的表格视图。表格视图显示了用户可以加入的所有组,我希望在用户单击的 tableView 的行上有一个 mouseclick 事件。这将更改标签上的文本以说明组中是否有空间。
我遇到的问题是“原因:javafx.fxml.LoadException:解析 onMouseClicked='#clickItem' 时出错,事件处理程序不在命名空间中或脚本中有错误。”我正在使用场景构建器,并已将方法声明为“单击鼠标时”,但仍然出现错误。
如果您能告诉我一个能够执行此操作或修复错误的解决方案,将会很有帮助。提前致谢。
public void showAvailability(MouseEvent event) {
selected = groupsTable.getSelectionModel().getSelectedItem();
boolean checkAvailability = checkSpaceInGroup(selected);
if(checkAvailability){
availabilityStatus.setText("Space in Group");
availabilityPane.setStyle("-fx-background-color: #" + "388e3c ");
}
else{
availabilityStatus.setText("NO SPACE");
availabilityPane.setStyle("-fx-background-color: #" + "ffcdd2 ");
}
}
【问题讨论】:
-
我建议改为听选择模型。
groupsTable.getSelectionModel().selectedItemProperty().addListener((o, oldSelection, newSelection) -> { /* ... */ });