【发布时间】:2020-12-14 10:21:43
【问题描述】:
我无法设置文字大小。虽然我找到了一种方法here 来计算这个,但计算仍然不准确,如本例所示。
import java.awt.Toolkit;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class TextHeight extends javafx.application.Application {
@Override
public void start(Stage stage) {
var text = new Text("EXAMPLE");
var fontSize = 100 * Toolkit.getDefaultToolkit().getScreenResolution() / 72.0;
text.setFont(Font.loadFont(getClass().getResourceAsStream("GT Pressura Mono Regular Regular.ttf"), fontSize));
text.setFill(Color.BLUE);
text.setX(0);
text.setY(100);
var pane = new Pane(text, new Rectangle(500, 0, 10, 100));
stage.setScene(new Scene(pane, 600, 120));
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
我现在根本不想解决文本的位置。只是字体的高度不是100px,而是94px左右。
尺寸计算有问题吗?还是和字体有关? (我下载了here)还是其他地方有问题?
请帮忙
谢谢
【问题讨论】:
-
您错误地认为磅值是大写字母的高度。见stackoverflow.com/questions/25520410/…。
标签: java javafx pixel font-size