让 Java 系统在 Linux 中看起来更漂亮

2022-09-01 13:26:04

我正在Linux上制作一个Java应用程序,它使用Java 6和Swing的sytray。该应用程序看起来很棒(使用系统外观和感觉),但系统看起来很糟糕。我的意思是systray菜单看起来像旧的widgedts(Motif?我想知道是否有一种方法可以设置外观和感觉,或者使系统托盘更漂亮。

下面是托盘的屏幕截图:enter image description here


答案 1

你试过JXTrayIcon吗

我用Compiz在Ubuntu 10.10上测试了SwingHelper的这个演示,它看起来很酷。

更新

作为2020年,这些链接被打破,这种解决方案今天有很多缺点。例如,GNOME3 桌面环境已经完全删除了系统托盘图标,取而代之的是 AppIndicator。

Java的(AWT/ Swing)系统托盘支持今天被打破了。我建议使用这个Java库:https://github.com/dorkbox/SystemTray

从网站:

在Java 6+上为Swing/AWT、GtkStatusIcon和AppIndicator提供专业的跨平台SystemTray支持。此库提供操作系统本机菜单和 Swing/AWT 菜单,具体取决于操作系统和桌面环境以及是否启用了自动检测(默认值)。

作为参考,您可以在此处找到原始示例的副本


答案 2

Swing 使用模拟的 UI 小部件。它具有许多可以应用的样式或主题。如果您更喜欢更多原生结果,则需要寻找另一个小部件工具包。您有几种选择:

  1. 如果你的需求是非常基本的,你可能会对AWT感到满意,这是原始的Java UI工具包。它使用本机小部件,但它支持的小部件库非常有限。

  2. 如果你想超越AWT,请考虑SWT,它保持在 eclipse.org。它为您提供了一个丰富的小部件库,这些小部件是以本机方式实现的。


推荐