晚安,我正在使用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