Java Web Start应用程序在XMonad上显示空的窗口

我使用XMonad + gnome作为窗口pipe理器。 我遇到的问题是,当我运行Java Web Start应用程序时,它显示一个空的窗口,如屏幕:

有什么我可以做的,以解决它?

更新:

JNLP文件自动更新问题

如何在java web start应用程序中获得pipe理员权限,需要在系统目录中写入

Windows GetClassName函数返回JFrame的完全限定类名

日志文件的好位置(windows)

在Java 6 JRE中打开JNLP文件而不是JRE 7

我尝试了简单的程序从JWS的例子 ,它的工作原理,对。 所以它应该是一个应用程序的问题。

失败的复合是Blast2Go。

指定Java WebStart应用程序的JRE位置

使WebStart Java桌面应用程序在Windows和Mac上的系统启动时启动

通过JNLP传递dynamic参数

我怎么能说64位,使用C:程序文件(x86)和32位使用C:程序文件

将窗口管理器的名称更改为LG3D类的已知LG3D :

startupHook = setWMName "LG3D"

我有我自己的Java代码完全相同的问题,并使用其他建议的解决方案(setWMName,MToolkit等)没有解决Xmonad的问题。 我必须注意到,在其他窗口管理器(如fluxBox)中,应用程序按预期工作。 然而就我而言,我发现了这个问题。 如果您有权访问Java应用程序的源代码,建议您考虑以下事项:

如果您有任何JFrame或JPanel或其他容器,则应明确定义其布局。 如果将布局设置为null,则必须明确设置容器的尺寸。 否则,容器将不会被渲染。 例如,我有一个包含我所有小部件的JPanel。 我宁愿完全控制布局,所以我将布局设置为null,然后明确设置JPanel的尺寸:

jContentPane.setLayout(null); jContentPane.setPreferredSize(new Dimension(appletWidth,appletHeight+100));

希望这可以帮助。

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...