设置java应用程序的标题opensuse

ger*_*rdw 3 java swing opensuse jframe

在Opensuse中运行Java Swing应用程序时,主类(com-simontuffs-onejar-Boot)的名称将显示在屏幕顶部.如何将其设置为我想要的标题?

版本信息:

/etc/SUSE-release
openSUSE 12.1 (i586)
VERSION = 12.1
CODENAME = Asparagus

uname -a 
Linux pax22 3.1.0-1.2-default #1 SMP Thu Nov 3 14:45:45 UTC 2011 (187dde0) i686 i686 i386 GNU/Linux

java -version
java version "1.6.0_12"
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) Server VM (build 11.2-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)

sie*_*egi 11

你试过吗JFrame.setTitle(String),比如说yourJFrame.setTitle("Title to display")?我目前没有可用的openSUSE盒子来试试吧...

编辑:事实证明(看到评论,为了便于阅读,这里重复它),这是一个Gnome特定的问题.这应解决问题:

Toolkit xToolkit = Toolkit.getDefaultToolkit();
java.lang.reflect.Field awtAppClassNameField =
    xToolkit.getClass().getDeclaredField("awtAppClassName");
awtAppClassNameField.setAccessible(true);
awtAppClassNameField.set(xToolkit, applicationName);
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅此博客文章.

  • 这是票!事实证明这是一个侏儒的事情,我在这个博客上找到了解决方案http://elliotth.blogspot.com/2007/02/fixing-wmclass-for-your-java.html`Toolkit xToolkit = Toolkit.getDefaultToolkit(); java.lang.reflect.Field awtAppClassNameField = xToolkit.getClass().getDeclaredField("awtAppClassName"); awtAppClassNameField.setAccessible(真); awtAppClassNameField.set(xToolkit,applicationName);` (3认同)