在Java / Swing中获取系统字体属性

时间:2009-08-10 18:31:24

标签: java swing cross-platform

我正在使用Swing开发Java应用程序,我想使用“正确”的字体和字体大小设置GUI。正确的我指的是用户定义的字体(+大小),以便我的应用程序适合用户的屏幕设置(分辨率/字体大小组合),而不必提供我自己的自定义设置。我的应用程序将用于Windows,MacOS X和Linux。

我一直无法找到如何做到这一点,或者这首先是否真的可行。我找到了一些对getSystemFont的引用,但找不到任何文档。

有人可以帮忙吗?

编辑:Eugene建议使用setLookAndfeel已经处理好了。虽然这可能是正确的,但这仍然让我遇到如何添加例如一个JTextField到具有适当高度的屏幕,因为我需要传递一些东西到.setBounds

2 个答案:

答案 0 :(得分:1)

实际上系统的外观和感觉假设为每个平台做这件事。您只需使用系统外观:

UIManager.setLookAndfeel( UIManager. getSystemLookAndFeelClassName())

在创建GUI之前执行此操作。

答案 1 :(得分:0)

  

这仍然让我遇到了问题   如何添加例如一个JTextField到   具有适当高度的屏幕,如   我需要传递一些东西   .setBounds

不,你应该使用LayoutManagers。他们为您完成所有工作。无需使用空布局,因此您无需设置组件的边界。

阅读Using Layout Managers

上的Swing教程中的部分