如果我为ExtendedDescription
设置了DefaultOption
文字,则点击该选项会打开一个视图,其中文本显示在HBox
中,并在那里居中。我想自定义文本所在的HBox
区域:不仅将文本对齐到中心,为文本着色或者粗体/斜体部分,还可以添加一个小图像......
除了可能OptionEditor
之外,我没有看到任何API来访问与自定义相关的任何内容,但是当我尝试调用editorFactoryProperty()
时,可选项始终为空。我应该自己创建一个并设置它吗?这是什么过程?
答案 0 :(得分:1)
目前还没有扩展视图的API。
如果使用ScenicView进行检查,可以看到视图节点已应用自定义样式类,因此您可以在运行时使用查找来获取BorderPane
( id:extended-pane
),顶部的HBox
(ID:extended-top
),中间的那个(ID:extended-center
)及其Text
child(styleClass:extended-text
)。
这样的事情应该有效:
viewProperty().addListener((obs, ov, nv) -> {
if (nv != null && nv.getName().startsWith("Extended_View_Gender")) {
BorderPane pane = (BorderPane) nv.lookup(".extended-pane");
if (pane != null) {
Text text = (Text) pane.lookup(".extended-text");
text.setStyle("-fx-fill: red");
}
}
});