1

我用 java Swing 写了一个小 GUI。但是我在使用默认外观和感觉时遇到了一些小问题com.sun.java.swing.plaf.gtk.GTKLookAndFeel

在此处输入图像描述

如您所见,菜单和按钮的字体与我的桌面中其他应用程序的字体不同(在图片 Eclipse 和 Nautilus 中),我在 Gnome2 上使用 GTK。

同时在 windows 上使用相对观感没有区别:

在此处输入图像描述

字体看起来一模一样。

这怎么可能?我可以修改哪些参数来编辑 GTK 上的字体外观?

4

3 回答 3

0

设置外观和感觉后,考虑为组件上的字体设置默认值。

UIManager.put("Menu.font", new FontUIResource(your_desired_font));
UIManager.put("Button.font", new FontUIResource(your_desired_font));

Windows L&F 默认使用new Font("Tahoma", Font.PLAIN, 11);

于 2014-11-05T14:08:56.437 回答
0

您应该让系统决定使用哪个 L&F

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

在上图中,您使用的是带有 Unity 的 Ubuntu(我猜?),但Unity 不使用 GTK而是使用Nux

创建原生外观的另一种方法是使用SWT(标准小部件工具包),它为您提供适用于 Windows、Linux 和 OSX 的系统相关库,以便程序中的图形元素使用这些系统中的实际原生元素。但是我必须警告你,使用起来可能不是那么容易(有时甚至是奇怪和烦人的:)),因为你不能使用任何Swing 组件。所以也许这不值得麻烦——由你来决定。

于 2013-05-03T14:39:57.710 回答
0

对于 GTK,通过 UIManager.getLookAndFeelDefaults() 设置字体标准不起作用......然后我通过反射找到了一个有效的黑客,你可以在这里找到它作为回应: https ://stackoverflow.com/a/31345102/3757320

于 2015-07-10T15:53:43.037 回答