编辑:因为它似乎不清楚:我想要一个普通的 JavaFx 分隔符(如下面第二张图片所示),但上面有文字 。下面是一个示例,它在 Swing 中的样子(虽然我不想想在某物周围放一个完整的盒子!):
这看起来确实应该很简单的东西,但是JavaFX自带的Separator类却无法标注。结果应该类似于“一般选项”或“特定选项”:
我找到了 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/