Android
是基于 Linux kernel
构建的,大多数 Linux 系统使用像 GNOME
、KDE
、LXDE
等桌面环境。
我已经编译了带有 busybox
、arm cross compiler
工具链和 arm-J2SE
的 Linux 内核和最小根文件系统。目前我只有基本的 命令行界面
。现在我想要使用一个桌面环境(启用鼠标并处理鼠标或触摸屏输入/事件)。因为我的 Java 命令行代码运行良好,但当我使用 swing
或 awt
应用程序时,它会显示此异常。
Exception in thread "main" java.awt.HeadlessException at
java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)
at java.awt.Window.<init>(Window.java:535)
at java.awt.Frame.<init>(Frame.java:420)
at javax.swing.JFrame.<init>(JFrame.java:224)
at Gui.main(Gui.java:7)
我只是看了一下javadoc,它显示:
public class HeadlessException
extends UnsupportedOperationException
当在不支持键盘、显示器或鼠标的环境下调用依赖于这些设备的代码时,会抛出此异常。基本上需要一些窗口管理或类似GUI的环境。我发现了一些构建GUI环境的库,例如
XLIB/X11,SDL
,可以管理那些鼠标和触摸屏事件。有人能告诉我从哪里开始实现我的目标吗?一些Linux系统使用startx
命令来启用GUI环境,然后带来桌面、窗口、鼠标等。我需要类似这样的东西来运行我的Java GUI应用程序。有人能指引我一条路吗?
Android
的环境来进行GUI。 - Shantanu Banerjee