如何在不同的屏幕上使用javaFX?

ffscu2ro  于 2023-06-28  发布在  Java
关注(0)|答案(1)|浏览(137)

我有一个带有fxml文件的javaFX应用程序。我不知道如何适应其他屏幕。也就是说,我有1920X1080和应用程序是在全屏,并在1366X768它削减它几乎2倍。
我的启动类:

public class FrameStart extends Application {

    static Logger LOGGER;
    static {
        try(FileInputStream ins = new FileInputStream("src/main/resources/log.config")) {
            LogManager.getLogManager().readConfiguration(ins);
            LOGGER = Logger.getLogger(FrameStart .class.getName());
        } catch (IOException e) {
            LOGGER.log(Level.WARNING,"Error ", e);
        }
    }
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage stage)  {
        try {
            FXMLLoader loader = new FXMLLoader();
            URL xmlUrl = getClass().getResource("/Scene.fxml");
            loader.setLocation(xmlUrl);
            Parent root = loader.load();
            stage.setTitle("App");
            stage.getIcons().add(new Image(FrameStart .class.getClassLoader().getResourceAsStream("logo.png")));
            stage.setScene(new Scene(root));
            stage.show();
        } catch (Exception e) {
            LOGGER.log(Level.SEVERE,"Error", e);
        }
    }
}

I don't really understand how to adapt
kzipqqlq

kzipqqlq1#

这样做的一种方法:
创建一个响应式的设计。
我建议你使用Scenebuilder。使用布局窗格(例如BorderPane)作为 Package 器。在其他版面中创建嵌套的版面。在应响应的元素中使用值为“计算大小”的首选大小。每个未定义其大小的元素都不会响应。
您需要查看元素的属性。有像 Package 的东西(例如。文本)、对齐等。

相关问题