【发布时间】:2012-11-08 07:52:28
【问题描述】:
Android 建立在 Linux kernel 之上,大多数 Linux 系统使用桌面环境,如 GNOME、KDE、LXDE 等。
我已经使用busybox、arm cross compiler 工具链和arm-J2SE 编译了Linux 内核和最小的根文件系统构建。目前我有基本的Command Line Interface。现在我想使用桌面环境(启用鼠标并处理鼠标或触摸屏输入/事件)。因为我的 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
Thrown when code that is dependent on a keyboard, display, or mouse is called in an environment that does not support a keyboard, display, or mouse.
基本上它需要一些窗口管理或类似 GUI 的环境。我发现很少有像XLIB/X11,SDL 这样可以管理那些鼠标和触摸屏事件的GUI 环境库。谁能告诉我从哪里开始实现我的目标。很少有 Linux 系统使用startx 命令来启用 GUI 环境,然后带来桌面、窗口、鼠标等。我需要这样的东西来运行我的 java gui 应用程序。谁能给我指路。
【问题讨论】:
-
linux 不需要需要桌面环境。你可以运行它 cli
-
是的,我们可以.. 我要的是 GUI 发行版
-
有趣的问题,我不知道我们能做到这一点 :) 期待收到一个很棒的答案 ;)
-
为什么要将Android用作桌面?
-
不,我想使用
Android类似的GUI环境。
标签: java linux-kernel desktop embedded-linux