Windows中的JTextArea默认字体非常小

jav*_*red 12 java swing look-and-feel jtextarea

我正在使用平台外观和在Linux上我的JTextArea非常易读但在Windows上它使用"Monospaced 9"并且文本非常小.

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

为什么默认的Windows外观在JTextArea中使用这么小的字体?

Den*_*kiy 26

不是创建新字体,最好是派生现有字体,因为这样你就可以通过平台外观保存字体集,并且还可以避免unicode字符的问题:

textArea.setFont(textArea.getFont().deriveFont(12f)); // will only change size to 12pt
Run Code Online (Sandbox Code Playgroud)

  • +1,因为我不知道你能做到。:P (2认同)

Spe*_*one 8

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

UIManager.getDefaults().put("TextArea.font", UIManager.getFont("TextField.font"));
Run Code Online (Sandbox Code Playgroud)

在设置外观后,在应用程序启动时调用此选项.

大多数L&F对JTextArea和JTextField使用相同的字体,Windows很不奇怪.