我在一个宽度为95像素的Pane容器中有一个HTML编辑器。编辑器在右侧切割,宽度与包含窗格重叠。如何将HTML编辑器的宽度设置为比父容器宽度更小的宽度?
请注意我在JavaFx SceneBuilder 2上并将宽度拖动到小于Parent容器的宽度只是不起作用。
答案 0 :(得分:2)
在Scene Builder 2.0上,HTML编辑器无法调整大小,这只会影响预览(好吧,也许它会隐藏其他一些控件,......)。如果这确实是一个问题,而不是在那里添加HTML编辑器,只需放置一个具有正确fx:id
的容器,然后在控制器上添加编辑器作为该容器的子代。
假设您在FXML上添加了编辑器,并且场景的宽度为355px,正如您所说,应用程序的第一个预览将切换工具栏,并且不会有任何溢出按钮,直到你调整窗口大小。只有这样,工具栏才会调整大小并出现溢出。
要解决这些问题并在启动应用程序后立即调整编辑器的大小,而无需手动调整大小,解决方法是找到编辑器的工具栏,并调整它们的大小。
@FXML private HTMLEditor htmlEditor;
@Override
public void initialize(URL url, ResourceBundle rb) {
Platform.runLater(()->{
htmlEditor.lookupAll("ToolBar")
.forEach(node->((ToolBar)node).setPrefWidth(355));
});
}
为简单起见,请注意硬编码的宽度值。