JTextArea 默认字体在 Windows 中非常小
2022-09-03 09:12:58
我正在使用平台外观和下降,在Linux上我的JTextArea非常可读,但在Windows上它使用“Monospaced 9”,文本非常小。
为什么以及解决这个问题的最佳方法是什么?
为什么默认的Windows外观和下降在JTextArea中使用如此小的字体?
我正在使用平台外观和下降,在Linux上我的JTextArea非常可读,但在Windows上它使用“Monospaced 9”,文本非常小。
为什么以及解决这个问题的最佳方法是什么?
为什么默认的Windows外观和下降在JTextArea中使用如此小的字体?
与其创建新字体,不如派生现有字体,因为这样可以保存平台外观设置的字体,并且还可以避免 Unicode 字符的问题:
textArea.setFont(textArea.getFont().deriveFont(12f)); // will only change size to 12pt
这里有一个解决方案,您可以使用它来一次更改所有JTextAreas,而不是每次添加新文本区域时使用setFont():
UIManager.getDefaults().put("TextArea.font", UIManager.getFont("TextField.font"));
在应用程序开始时,在设置外观后调用此函数。
大多数L&Fs对JTextArea和JTextField使用相同的字体,奇怪的是Windows没有。