在每天使用JavaFX应用程序大约一年半之后,我最近才注意到应用程序窗口顶部只有一个内边框(框架与框架内的内容分隔开)窗户的左侧。现在,当我看到它时,我无法理解它。
这是一个显示空应用程序窗口的MCVE:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
public class MCVE extends Application {
@Override
public void start(Stage stage) {
AnchorPane pane = new AnchorPane();
stage.setScene(new Scene(pane, 800, 800));
stage.show();
}
public static void main(String[] args) {
launch();
}
}
这是结果:
如果放大,你可以清楚地看到我的意思:
为什么这样设计?对我来说,它看起来很奇怪。我希望窗户的四边都有一个内边框,但也许我在这里缺少一些设计原则。
如果我愿意,我如何更改应用程序窗口的样式以使其具有所有四个边框?我能得到的最接近的是设置primaryStage.initStyle(StageStyle.UNIFIED);
,然后设置窗口内容窗格的边框样式。但是这种方法的问题在于标准内边框复制了窗口外边框的外观,只是在内容窗格上设置自定义边框,这使得很难完美地复制外边框的样式。它看起来太尖锐或太模糊,或颜色是错误的。