JTextArea 默认字体在 Windows 中非常小

2022-09-03 09:12:58

我正在使用平台外观和下降,在Linux上我的JTextArea非常可读,但在Windows上它使用“Monospaced 9”,文本非常小。

为什么以及解决这个问题的最佳方法是什么?

为什么默认的Windows外观和下降在JTextArea中使用如此小的字体?


答案 1

与其创建新字体,不如派生现有字体,因为这样可以保存平台外观设置的字体,并且还可以避免 Unicode 字符的问题:

textArea.setFont(textArea.getFont().deriveFont(12f)); // will only change size to 12pt

答案 2

这里有一个解决方案,您可以使用它来一次更改所有JTextAreas,而不是每次添加新文本区域时使用setFont():

UIManager.getDefaults().put("TextArea.font", UIManager.getFont("TextField.font"));

在应用程序开始时,在设置外观后调用此函数。

大多数L&Fs对JTextArea和JTextField使用相同的字体,奇怪的是Windows没有。


推荐