javafx - JavaFX 窗口大小小于 SceneBuilder
问题描述
好的,所以我使用 SceneBuilder 设计了一个场景,我的问题是,当我运行代码时,窗口比 SceneBuilder 中显示的窗口小得多。
.fxml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Hyperlink?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="480.0" prefWidth="640.0" xmlns="http://javafx.com/fxml" xmlns:fx="http://javafx.com/fxml/1">
<left>
<VBox alignment="CENTER" prefHeight="200.0" prefWidth="100.0" spacing="40.0" style="-fx-background-color: #f2f2f2;">
<children>
<Label text="Log In">
<VBox.margin>
<Insets />
</VBox.margin>
<font>
<Font name="System Bold" size="15.199999809265137" />
</font>
</Label>
<Label text="Sign Up">
<font>
<Font name="System Bold" size="15.199999809265137" />
</font>
</Label>
</children>
</VBox>
</left>
<center>
<VBox id="body" alignment="CENTER" spacing="20.0" stylesheets="@application.css">
<children>
<TextField layoutX="110.0" layoutY="165.0" prefHeight="40.0" prefWidth="260.0" promptText="username">
<opaqueInsets>
<Insets />
</opaqueInsets>
<VBox.margin>
<Insets />
</VBox.margin>
<padding>
<Insets left="15.0" />
</padding>
</TextField>
<PasswordField prefHeight="40.0" prefWidth="260.0" promptText="password">
<padding>
<Insets left="15.0" />
</padding>
</PasswordField>
<Button alignment="CENTER" mnemonicParsing="false" prefHeight="40.0" prefWidth="290.0" text="LOGIN" />
<Hyperlink text="Not registered? Create an account " textFill="WHITE">
<font>
<Font size="13.0" />
</font>
<VBox.margin>
<Insets top="-10.0" />
</VBox.margin>
</Hyperlink>
</children>
<BorderPane.margin>
<Insets />
</BorderPane.margin>
<padding>
<Insets left="125.0" right="125.0" />
</padding></VBox>
</center>
</BorderPane>
场景创建为:
Parent root = FXMLLoader.load(getClass().getResource("Sample.fxml"));
Scene scene = new Scene(root);
解决方案
安装更新版本的 JDK 和更新版本的 JavaFX 后,问题不再存在。
推荐阅读
- c++ - 将对象传递给函数而不将其包装到 std::ref 中,而参数被指定为 const 引用
- c# - 为什么我的 C# 应用程序仍然从 MySql 中检索数据而不使用 connection.Open()
- python - Python JSON 文件读取生成器(多行)
- unicode - 尝试使用 torch.load(PATH) 加载预训练模型时出现 unicode 解码错误
- pivot-table - 为数据透视表 epplus 添加自定义样式
- react-native - 如何忽略 React Native 应用程序的“辅助功能”设置?
- azure - 如何在 DBFS 上挂载 Azure Data Lake Store
- codenameone - 如何自动刷新代号中的无限列表
- python - 如何在灰度图像的python中生成图像在x和y方向上的高斯偏导数的联合直方图?
- javafx - J-Unit JavaFX Tookit 未初始化