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

时间:2019-03-13 19:04:31

标签: java javafx tableview

我有一个带有模型类的表视图。表格视图显示了用户可以加入的所有组,我希望在用户单击的表格视图的行上有一个mouseclick事件。这样会更改标签上的文本,以说明组中是否有空格。

我遇到的问题是“由于:javafx.fxml.LoadException:解决onMouseClicked ='#clickItem'时出错,事件处理程序不在命名空间中或脚本中有错误。”我正在使用场景构建器,并且已将方法声明为“单击鼠标时”,但仍然出现错误。

如果您可以告诉我解决方案以执行此操作或修复错误,将对您有所帮助。预先感谢。

Param(
    # GROUP A (a1 and a2 are mutually exclusive)
    [Parameter(ParameterSetName="a1")]
    [Parameter(ParameterSetName="b1")]
    [Parameter(ParameterSetName="b2")]
    [switch]$a1,

    [Parameter(ParameterSetName="a2")]
    [Parameter(ParameterSetName="b1")]
    [Parameter(ParameterSetName="b2")]
    [switch]$a2,

    # GROUP B (b1 and b2 are mutually exclusive)
    [Parameter(ParameterSetName="a1")]
    [Parameter(ParameterSetName="a2")]
    [Parameter(ParameterSetName="b1")]
    [switch]$b1,

    [Parameter(ParameterSetName="a1")]
    [Parameter(ParameterSetName="a2")]
    [Parameter(ParameterSetName="b2")]
    [switch]$b2
)

1 个答案:

答案 0 :(得分:0)

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

import java.awt.event.??

代替:

import javafx.event.??

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

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

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

import javafx.scene.input.MouseEvent;

希望有帮助!