当前位置: 首页 > 知识库问答 >
问题:

如何在基于Swing或NetBeans平台的Java GUI应用程序中更改WM_CLASS值?

梁丘凯定
2023-03-14

所有基于Swing/NetBeans的Java GUI应用程序似乎都具有相同的wm_class值:

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

可以通过发出xprop命令并指向窗口来查看此参数。定制它的实际目的是让类似Mac的停靠(例如AWN(也许还有Ubuntu的Unity))区分应用程序窗口,并将它们分组在应用程序固定的启动器图标下。为此,startupwmclass参数应在~/.local/share/applications/usr/share/applications中的.application文件中相应地设置。不用说,如果不止一个应用程序对wm_class使用相同的字符串,AWN(和类似物)就会混淆。

共有1个答案

贺亦
2023-03-14

这篇博客文章在toolkit中找到了一个字段,该字段名为awtappclassname。它建议使用反射来修改它:

Toolkit xToolkit = Toolkit.getDefaultToolkit();
java.lang.reflect.Field awtAppClassNameField = xToolkit.getClass().getDeclaredField("awtAppClassName");
awtAppClassNameField.setAccessible(true);
awtAppClassNameField.set(xToolkit, applicationName);
 类似资料:
  • 问题内容: 我正在使用Netbeans 6.7。在安装Netbeans之前,我首先安装了Java 1.5。当我安装Netbeans时,它将Java 1.5作为默认版本。然后我在机器上安装了Java 1.6。我不仅需要将Netbeans的默认JDK更改为1.6,不仅要将其更改为特定项目,还要将整个Netbeans应用程序更改为1.6。 问题答案: 您可以通过修改配置文件来更改JDK for Netb

  • 我正试图找出如何以适当的方式测试我的代码,并卡在中间的某个地方。 我所使用的: 我需要什么样的帮助: 实现这种方法的工作项目是最可取的。不要花太多的文字,工作代码对我来说是最好的理解方式。 如果没有一个完整的项目,那么带有描述的代码段也很有用。 链接到关于1)基于Java的配置2)替换基于Java的配置进行测试的一些好的和简单的教程。 很抱歉,如果我的想法有点混乱,我是Java EE开发的新手,仍

  • 问题内容: 我已经申请了秋千。现在,我想更改整个Swing应用程序的Font,以便添加的任何组件都应仅遵循该Font。有什么办法可以达到相同的目的吗? 问题答案:

  • 我正在使用netbeans platfrom(7.4)创建我的应用程序。我使用的是nbm-maven插件3.13。在windows(8在虚拟框),我设置应用程序到文件夹与西里尔字符。接下来,我启动exe文件并有消息框(“非ASCII...”)。我发现错误报告https://netbeans.org/bugzilla/show_bug.cgi?id=222850,但状态为“已解决、已修复”。我应该做

  • 问题内容: 我有一个Swing应用程序,我希望将其从意大利面条转换为对Guice使用依赖项注入。使用Guice提供诸如配置和任务队列之类的服务的过程非常好,但是我现在是从应用程序的GUI开始的,不确定如何进行。 该应用程序基本上是,在中带有一堆标签。每个选项卡都是一个单独的子类,该子类列出了各种组件,并且需要服务才能在按下某些按钮时执行操作。 在当前应用程序中,这看起来像这样: 显然,这并不完全遵

  • 问题内容: 我正在研究使用python开发控制台应用程序,该应用程序应该能够在Windows和Linux下运行。为此,我真的很想使用像curses这样的高级控制台库。但是,据我所知,curses在Windows上不可用。 我还有什么其他选择?不幸的是,在Windows下不能使用cygwin。 谢谢你的帮助! 问题答案: 有一个问题。我从未尝试过,但它可能满足您的需求。听起来好像并没有完全的curs