[英]Highlight Gridpane Cell on Mouseover JavaFX
好的,如上所述,我在javafx應用程序中擁有gridpane,並且我試圖獲取它,以便當我將鼠標懸停在單個單元格上時,鼠標懸停在其上方的單元格將變為黃色(想想excell有點什么)。 我不知道如何執行此操作,然后在鼠標離開單元格后將其重置。
officeHoursGridPane.setOnMouseEntered((MouseEvent t) -> {
officeHoursGridPane.setStyle("-fx-background- color:#FFFF00;");
});
officeHoursGridPane.setOnMouseEntered((MouseEvent t) -> {
officeHoursGridPane.setStyle("-fx-background-color:#dae7f3;");
});
這就是我現在的方式,但是它只是將鼠標懸停在一種顏色上,然后保持該顏色。 整個表也不會更改每個單元格。 有人幫忙嗎?
如果在網格窗格上設置樣式類:
officeHoursGridPane.getStyleClass().add("office-hours-pane");
那么您可以使用CSS將樣式應用於網格窗格的直接子級,並使用內置的hover
偽類僅在將節點hover
時才應用樣式。 將以下內容添加到外部CSS文件中:
.office-hours-pane > *:hover {
-fx-background-color: #FFFF00;
}
如果您更喜歡使用偵聽器(這很棘手,而且不是很好的做法,因為您應該將樣式真正分離到一個單獨的實體(例如CSS)中),則可以在網格窗格的每個子節點上設置onMouseEntered
和onMouseExited
偵聽器(不在網格窗格本身上)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.