如何在javafx中围绕FlowPane创建简单的实线边框

pab*_*mbs 26 user-interface javafx

我正在javafx中构建一个简单的应用程序,我希望能够为FlowPane添加边框.

我在java中比javafx有更多的经验,所以我试图找到相当于.setBorder(BorderFactory.createEmptyBorder(0,0,0,0))但无济于事.

不幸的是,我发现的一切似乎都比我需要的更复杂.我不需要样式或短划线,这就是我所发现的.

谢谢 !

Jos*_*eda 44

有一种setBorder()方法,因此您可以为窗格添加边框:

FlowPane pane = new FlowPane(10, 10);
pane.setBorder(new Border(new BorderStroke(Color.BLACK, 
            BorderStrokeStyle.SOLID, CornerRadii.EMPTY, BorderWidths.DEFAULT)));
Run Code Online (Sandbox Code Playgroud)

虽然使用内联CSS这实际上更简单:

pane.setStyle("-fx-border-color: black");
Run Code Online (Sandbox Code Playgroud)

或者您可以将其应用于CSS文件:

FlowPane pane = new FlowPane(10, 10);
pane.getStyleClass().add("pane");

Scene scene = new Scene(pane, 300, 250);
scene.getStylesheets().add(getClass().getResource("root.css").toExternalForm());
Run Code Online (Sandbox Code Playgroud)

其中'root.css'在同一个包中并包含:

.pane {
    -fx-border-color: black;
}
Run Code Online (Sandbox Code Playgroud)