gpt4 book ai didi

JavaFX DPI 感知

转载 作者:行者123 更新时间:2023-12-01 10:22:10 35 4
gpt4 key购买 nike

晚安,我正在与一些合作伙伴使用 javaFx 制作一个应用程序;我们的想法是它将在 Windows 和 Linux 中使用。我们进行了一些测试,发现应用程序在两种操作系统中的显示有所不同。

我们正在使用场景生成器。我想知道是否有人碰巧遇到过类似的问题以及您如何解决它(我已经阅读过其他类似的帖子,但没有一个对我有帮助)。

这是它在 Windows 上的显示方式: enter image description here

这就是它在 Linux 上的显示方式: enter image description here

这只是一个示例,所有表单都会发生这种情况。如果有人可以提供帮助,我们将不胜感激!!

我创建了下一个函数来调用表单:

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>

最佳答案

Windows 默认字体与您运行的 Linux 默认字体不同。要检查这一点,请设置一个预定义的对象并查看

在你的TableCell中

{
setFont(Font.font(Font.getFontNames().get(4), size));
}

关于JavaFX DPI 感知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35518459/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com