簡體   English   中英

在Mouseover JavaFX上突出顯示Gridpane單元

[英]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)中),則可以在網格窗格的每個子節點上設置onMouseEnteredonMouseExited偵聽器(不在網格窗格本身上)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM