java - 如何创建带标签的分隔符?

标签 java javafx javafx-8

编辑:因为它似乎不清楚:我想要一个普通的 JavaFx 分隔符(如下面第二张图片所示),但上面有文字 。下面是一个示例,它在 Swing 中的样子(虽然我不想想在某物周围放一个完整的盒子!):

enter image description here

这看起来确实应该很简单的东西,但是JavaFX自带的Separator类却无法标注。结果应该类似于“一般选项”或“特定选项”:

enter image description here

我找到了 http://tiwulfx.panemu.com/2013/01/02/creating-custom-menu-separator-in-javafx/并尝试将其应用于普通分隔符,但由于您根本无法为该分隔符设置内容,因此它不起作用(并且您不能在其他 GUI 部分然后是菜单中使用 MenuItemSeparator)。显示的选项将是 TabPane 中的一个选项卡。

关于如何做到这一点有什么想法吗? :)

解决方案:

HBox labeledSeparator = new HBox();
Label label = new Label(text);
Separator leftSeparator = new Separator();
Separator rightSeparator = new Separator();
labeledSeparator.getChildren().add(leftSeparator);
labeledSeparator.getChildren().add(label);
labeledSeparator.getChildren().add(rightSeparator);
labeledSeparator.setAlignment(Pos.CENTER);

最佳答案

为什么不使用包含分隔符和标签的 AnchorPane? Separator 需要锚定到 AnchorPane 的两侧,而 Label 可以锚定到左侧的偏移量,比如 20.0 左右。然后,使 Label 的背景与您的程序的背景相匹配,这样被 Label 遮挡的 Separator 部分就看不到了。

关于java - 如何创建带标签的分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25193227/

相关文章:

JavaFX:防止形状拖动到另一个形状上

java - 有没有办法缩短由于对象属性相似而重复的代码?

java - 如何在 Spring MVC 中使用 Hibernate 和 Spring JPA 更新数据

java - 如何对程序的某些部分进行排队

Java Spring JSON 响应问题

java - 印地语字体在使用 javafx 的 webview 浏览器上呈现不正确

java - 如果一行包含 JavaFX 中的特定文本,如何突出显示该行

java - 使用 SwingNode 在 JavaFX 中显示 VlcJ

java - 从通配符列表中删除每个第 N 个元素 - Java

Javafx - 同步延迟 - 卡片翻转