如何将JavaFx HTML编辑器设置为较小的宽度

时间:2014-10-31 06:40:16

标签: javafx html-editor

我在一个宽度为95像素的Pane容器中有一个HTML编辑器。编辑器在右侧切割,宽度与包含窗格重叠。如何将HTML编辑器的宽度设置为比父容器宽度更小的宽度?

请注意我在JavaFx SceneBuilder 2上并将宽度拖动到小于Parent容器的宽度只是不起作用。

1 个答案:

答案 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));
    });
}

Scene 355x300 px

为简单起见,请注意硬编码的宽度值。