首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFX pack组件

JavaFX pack组件
EN

Stack Overflow用户
提问于 2016-07-10 03:25:38
回答 0查看 400关注 0票数 0

有一个布局layout.fxml:

代码语言:javascript
复制
    <BorderPane fx:id="mainLayout" xmlns="http://javafx.com/javafx/8"xmlns:fx="http://javafx.com/fxml/1">
</BorderPane>

此外,在该方法中有循环中的按钮200:

代码语言:javascript
复制
public class Main extends Application {
    @FXML
    private static BorderPane mainLayout;
    private Stage stage;

    @Override
    public void start(Stage primaryStage) throws IOException {
        this.stage = primaryStage;
        initMainLayout();
        initLoginForm();
    }

    private void initMainLayout() throws IOException {
        FXMLLoader loader = new FXMLLoader();
        loader.setLocation(Main.class.getResource("/fxml/layout.fxml"));
        mainLayout = loader.load();
        mainLayout.getStyleClass().add("v-box");
        Scene scene = new Scene(mainLayout);
        scene.getStylesheets().add("/css/style.css");
        stage.setTitle("ТЕМА ДИПЛОМА");
        stage.setMaximized(true);
        stage.setResizable(false);
        stage.setScene(scene);
        stage.show();
    }
    public void initMainForm() {
            final int HEIGHT = 39;
            final int WIDTH = 120;
            int count = 1;
            GridPane gridPane = new GridPane();
            gridPane.getStyleClass().add("grid-pane");
            for (int i = 0; i < 10; i++) {
                for (int j = 0; j < 20; j++) {
                    Button button = new Button();
                    button.setText("Помещение №" + count++);
                    button.getStyleClass().add("button-all");
                    button.setOnAction(event -> new AdditionalController().buttonPressed(event));
                    gridPane.getRowConstraints().add(new RowConstraints(HEIGHT));
                    gridPane.getColumnConstraints().add(new ColumnConstraints(WIDTH));
                    gridPane.add(button, i, j);
                }
            }
            mainLayout.setPadding(new Insets(0, 0, 0, 0));
            mainLayout.getStyleClass().remove("v-box");
            mainLayout.getStyleClass().add("border-pane");
            mainLayout.setCenter(gridPane);
        }

CSS样式按钮:

代码语言:javascript
复制
.button-all {
    -fx-background-color: #faffb0;
    -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif;
    -fx-font-size: 9pt;
    -fx-text-fill: #054500;
    -fx-max-width: 89pt;
    -fx-max-height: 120pt;
}

结果分辨率1280:1024

一切都完美!!

但是,1024x768,这很糟糕:

组件未打包(如何在更改屏幕分辨率、自动组件时获得?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38285535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档