更新: 我删除了指定字体大小,现在字体大小是可读的 - 但是,这意味着根本无法指定任何字体大小 - 这同样糟糕!
我在 Windows XP 上开发了我的程序。大多数字段的字体设置为 12 磅。大小可读且足够。当我尝试在 Windows 7 上运行时,屏幕上的字体很小。12 号字体现在看起来像 6 号!然而,这并不统一。在某些小部件上设置的文本(例如在表格列标题和选择框上)看起来很大 - 像以前一样为 12 磅大小的字体。但是现在在缩小的 gui 小部件上,它们被切断了。显示分辨率默认为 1920 x 1080。这是下面的屏幕截图。例如,这里是在 Windows 7 上运行的表的 JavaFX 教程示例。它被修改为指定字体大小。注意 Win7 上的 12 号字体有多小。还可以看到表格列标题字体要大得多并且溢出:
fxml 文件的代码如下。
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.cell.*?>
<?import javafx.collections.*?>
<?import fxmltableview.*?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.collections.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<?import javafx.scene.text.*?>
<?import javafx.collections.*?>
<?import java.lang.*?>
<Scene xmlns:fx="http://javafx.com/fxml" >
<GridPane alignment="center" hgap="10" vgap="10">
<padding>
<Insets top="10" right="10" bottom="10" left="10"/>
</padding>
<Label text="Address Book: This text is in font size 12 on Win7" GridPane.columnIndex="0" GridPane.rowIndex="0">
<font>
<Font size="12.0"/>
</font>
</Label>
<TableView GridPane.columnIndex="0" GridPane.rowIndex="1">
<columns>
<TableColumn text="First Name">
<cellValueFactory>
<PropertyValueFactory property="firstName" />
</cellValueFactory>
</TableColumn>
<TableColumn text="Last Name">
<cellValueFactory>
<PropertyValueFactory property="lastName" />
</cellValueFactory>
</TableColumn>
<TableColumn text="Email Address">
<cellValueFactory>
<PropertyValueFactory property="email" />
</cellValueFactory>
</TableColumn>
</columns>
<items>
<FXCollections fx:factory="observableArrayList">
<Person firstName="Jacob" lastName="Smith"
email="jacob.smith@example.com"/>
<Person firstName="Isabella" lastName="Johnson"
email="isabella.johnson@example.com"/>
<Person firstName="Ethan" lastName="Williams"
email="ethan.williams@example.com"/>
<Person firstName="Emma" lastName="Jones"
email="emma.jones@example.com"/>
<Person firstName="Michael" lastName="Brown"
email="michael.brown@example.com"/>
</FXCollections>
</items>
</TableView>
</GridPane>
</Scene>