如何集中JavaFX控件
更具体地说,为什么我的
JavaFX控件没有居中?这是两个截图,第一个刚开始之后(我将窗口移动到一个更明显的位置,但还没有调整大小),第二个是在调整它以显示我的问题之后.如果你帮我确认它的大小(在所有DPI上),当它第一次显示时,奖励积分:
方便地,相关代码包含在那些屏幕截图中.如果您仍然需要它作为文本,请转到: private void initJFXPanel(JFXPanel holder) { { { rootGrid = new GridPane(); rootGrid.setAlignment(Pos.CENTER); rootGrid.setPadding(new Insets(16)); rootGrid.setHgap(16); rootGrid.setVgap(8); } interior = holder.getScene(); if (interior == null) holder.setScene(interior = new Scene(rootGrid)); interior.setRoot(rootGrid); } { statusLabel = new Label("Checking for Updates..."); statusLabel.setAlignment(Pos.CENTER); statusLabel.setTextAlignment(TextAlignment.CENTER); rootGrid.add(statusLabel,0); } { progressBar = new ProgressBar(); progressBar.setProgress(-1); progressBar.setPrefWidth(Constants.MAX_WIN_BOUNDS.width / 5d); // 1/5 the width of the screen rootGrid.add(progressBar,1); } { downloadButton = new Button("Get it!"); downloadButton.setAlignment(Pos.CENTER); rootGrid.add(downloadButton,2); } holder.setMinimumSize(new Dimension((int)(rootGrid.getPrefWidth() + .5),(int)(rootGrid.getPrefHeight() + .5))); setMinimumSize(holder.getMinimumSize()); } 解决方法
解
将控件放在VBox(或其他类似的根布局窗格)中,将set the VBox alignment放在中心位置. 布局建议 这是我在JavaFX中开始布局的个人建议(这只是建议而不适用于所有人,你可以接受或留下它): >您的窗口以及所有控件和布局将自动调整为首选大小. Hi-dpi支持 看到答案: > JavaFX 8 HiDPI Support 基于FXML的对话框示例代码 您可以在SceneBuilder中加载以下内容以轻松显示它: <?xml version="1.0" encoding="UTF-8"?> <?import javafx.geometry.*?> <?import javafx.scene.control.*?> <?import java.lang.*?> <?import javafx.scene.layout.*?> <VBox alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" spacing="8.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> <children> <Label fx:id="updateStatus" text="Checking for Updates..." /> <ProgressBar fx:id="updateProgress" prefWidth="200.0" progress="0.0" /> <Button fx:id="updateAction" mnemonicParsing="false" text="Get it!" /> </children> <padding> <Insets bottom="16.0" left="16.0" right="16.0" top="16.0" /> </padding> </VBox> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |