如何在JavaFX手风琴标题栏中更改光标

时间:2015-10-12 14:50:23

标签: javafx-8

我正在使用自定义游标,但我的屏幕中的某些组件需要有所不同。

当我为 Accordion 设置光标时,它不会影响标题标题,但会影响每个 TitledPanes 的正文。我甚至尝试为每个TitledPane设置光标,但它不影响标题标题。我正在使用以下方式更改光标。

ImageCursor cursor_title = new ImageCursor(cursorImg_title,cursorImg_title.getWidth() / 2,cursorImg_title.getHeight() / 2);
accordionBody.setCursor(cursor_title);

有没有办法更改JavaFX Accordian标题栏中的光标?

更多....

我已经使用css更改了标题栏的填充,如下所示。希望它与问题没有任何关系。

.titled-pane > .title {
    -fx-padding: 30;
}

1 个答案:

答案 0 :(得分:2)

TitledPane分为两部分:

  • 标题
  • 内容

当您在手风琴上设置光标时,它会将其委托给每个TitledPane的内容,但会保留标题。这是设计的。

要强制您的应用程序也更改标题上的光标,我们需要在每个节点上设置它。我们可以使用手风琴上的lookupAll()来获取所有节点,并传递他们使用的样式表,即.title确保在场景图可见后使用此功能。

accordion.lookupAll(".title").forEach(node -> node.setCursor(Cursor.CLOSED_HAND));

您可以使用自定义光标代替CLOSED_HAND