晚安,我正在使用JavaFX与一些合作伙伴的应用程序;这个想法是它将被用于Windows和Linux。我们一直在做一些测试,并发现应用程序在两个操作系统中都显示不同。JavaFX的DPI awarness
我们正在使用场景Builder.I'm想,如果有人happend碰到类似的问题,以及如何解决它(我已经阅读过其他类似的帖子,但没有他们的帮助我)。
这只是一个例子,因为它与一切形式的发生。如果有人可以帮助我们,我们将非常感激!
我做下一个函数调用的形式:
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(http://fxexperience.com/scenic-view/)两个操作系统上找出实际的区别是什么一看应用。相关代码位于FXML和CSS文件中,然后添加到该文章中。 – hotzst