繁体   English   中英

如何在TableView JavaFX上执行鼠标单击事件

[英]How to do a mouse click event on tableview JavaFX

我有一个带有模型类的表视图。 表格视图显示了用户可以加入的所有组,我希望在用户单击的表格视图的行上有一个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 ");

    }
}

您可能导入了错误的库:(不确定是否不看完整的代码)

import java.awt.event.??

代替:

import javafx.event.??

但是,您可以从控制器类的Initialize方法创建事件,如下所示:

groupsTable.setOnMouseClicked((MouseEvent event) -> { 
 //your code goes here
}

在这种情况下,使用以下命令导入MouseEvent:

import javafx.scene.input.MouseEvent;

希望能帮助到你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM