簡體   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