【发布时间】:2023-03-06 03:21:02
【问题描述】:
晚安,我正在与一些合作伙伴使用 javaFx 制作应用程序;这个想法是它将用于 Windows 和 Linux。我们一直在进行一些测试,发现应用程序在两个操作系统中的显示有所不同。
我们正在使用 Scene Builder。我想知道是否有人碰巧遇到了类似的问题以及您是如何解决的(我已经阅读过其他类似的帖子,但没有一个对我有帮助)。
这只是一个示例,因为它适用于所有表单。如果有人可以提供帮助,我们将不胜感激!
我做了下一个函数来调用表单:
private void OpenForm(String form, String title) {
try
{
FXMLLoader fxmlLoader1 = new FXMLLoader(getClass().getResource(form));
Parent root;
root = fxmlLoader1.load();
Stage stage = new Stage();
stage.setScene(new Scene(root));
stage.setTitle(title);
stage.setResizable(false);
stage.show();
}catch (Exception ex)
{
Msg(3,"Program error","It appears there's something wrong : ",ex.getMessage().toString());
System.out.println(ex);
}
}
这是所要求的表单的 FXML:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane prefHeight="346.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="GUI.Almacen.ClientesMod">
<children>
<TableView fx:id="tvClientes" layoutX="4.0" layoutY="6.0" prefHeight="310.0" prefWidth="638.0">
<columns>
<TableColumn fx:id="tcIdCliente" prefWidth="75.0" text="RacF de Cliente" />
<TableColumn fx:id="tcNombre" prefWidth="75.0" text="Nombre" />
<TableColumn fx:id="tcDivision" prefWidth="75.0" text="División" />
</columns>
<columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
</columnResizePolicy>
</TableView>
<Button fx:id="btnModificar" disable="true" layoutX="535.0" layoutY="320.0" mnemonicParsing="false" onAction="#abrirModificarCliente" text="Modificar Cliente" />
<Button fx:id="btnAgregar" layoutX="432.0" layoutY="320.0" mnemonicParsing="false" onAction="#abrirAgregarCliente" text="Agregar Cliente" />
</children>
</AnchorPane>
【问题讨论】:
-
看起来不同的字体正在改变按钮的大小。可以发一下代码吗?
-
我发布了我用来调用所有表单的代码,无论您需要什么我很乐意发布它,与其说是空间,不如说是表单的不同控件之间的间距。
-
查看两个操作系统上使用ScenicView 的应用程序,找出实际差异。相关代码位于 FXML 和 CSS 文件中,然后您应该将它们添加到帖子中。
-
我的意思是布局代码。你能发布 FXML 吗?
-
就是这样。不知道是布局还是windows管理器的问题,希望大家给点意见!
标签: java javafx screen-resolution dpi scenebuilder