7

すべてのSwing/NetBeansベースのJavaGUIアプリケーションは、同じWM_CLASS値を持っているようです。

WM_CLASS(STRING) = "sun-awt-X11-XFramePeer", "java-lang-Thread"

このパラメータは、コマンドを発行xpropしてウィンドウをポイントすることで表示できます。これをカスタマイズする実際の目的は、Macのようなドック(たとえば、AWN(およびおそらくUbuntuのUnity))がアプリケーションウィンドウを区別し、アプリケーションの固定されたランチャーアイコンの下にグループ化できるようにすることです。これが機能するためには、またはのファイルでStartupWMClassパラメータを適宜設定する必要があります。言うまでもなく、複数のアプリケーションがに同じ文字列を使用する場合、AWN(および類似物)は混乱します。.application~/.local/share/applications/usr/share/applicationsWM_CLASS

4

1 に答える 1

4

このブログ投稿Toolkitでは、それを制御する という名前のフィールドが見つかりましたawtAppClassName。リフレクションを使用して変更することをお勧めします。

Toolkit xToolkit = Toolkit.getDefaultToolkit();
java.lang.reflect.Field awtAppClassNameField = xToolkit.getClass().getDeclaredField("awtAppClassName");
awtAppClassNameField.setAccessible(true);
awtAppClassNameField.set(xToolkit, applicationName);
于 2015-03-23T19:03:09.367 に答える