背景/环境:
我目前正在开发一种旨在在Linux上运行的触摸屏应用程序.作为一个开发框架,我选择了JavaFX(jdk1.7.0_10),因为它具有快速的原型设计.我正在使用Arch Linux(内核3.6.10-1-ARCH)发行版,由于JavaFX需要一个完整的环境来运行,我在基本配置之上安装了Xorg.即使我认为我能够运行我的JavaFX应用程序,我的应用程序中显示的弹出窗口也存在一些问题.
当试图显示那些弹出窗口时,有时它们没有按预期响应或事件更糟,它们会使我的应用程序崩溃.我得到的错误如下:
The program 'java' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadDrawable (invalid Pixmap or Window parameter)'.
(Details: serial 51101 error_code 9 request_code 62 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Run Code Online (Sandbox Code Playgroud)
顺便说一下,当在Windows(我的开发机器)上运行相同的应用程序时,一切正常.
我也尝试运行复合管理器('xcompmgr'),因为我也收到了一些警告
Can't create transparent stage, because your screen doesn't support alpha channel. You need to enable XComposite extension.
Run Code Online (Sandbox Code Playgroud)
但它没有帮助.
题:
我是否缺少一些文件或配置以便在Linux中顺利运行JavaFX,或者是否有人遇到过同样的挑战?由于我主要关心的是性能(由于硬件规格有限),我不想安装全功能的Linux发行版.我只需要运行我的JavaFX应用程序.
尝试在软件渲染模式下运行 JavaFX:java -Dprism.order=j2d -jar your.jar
另请注意,您的平台似乎未包含在受支持的列表中:http://www.oracle.com/technetwork/java/javafx/downloads/supportedconfigurations-1506746.html