完成 LFS(linuxfromscratch) 系统后,我有 2 个输入问题,一些应用程序,如 google docs(在浏览器中编辑演示文稿)和一些 java 应用程序显然无法识别键盘输入,第一个解决了添加 UTF-8 语言环境,但是java没办法。所以我做了一些研究并将其限制在 awt 范围内。这意味着所有用 java awt 编写的应用程序都无法识别键盘输入。我试过http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-Desktop/html/awt.html,但没有成功解决这个问题。在新的语言环境之后,我也重新编译了 libXt。
我没有Qt,awt是qt依赖的吗?
使用eclipse(这是java应用程序并且没有问题),我使用awt创建了一个小应用程序来重现问题。问题就在这里,但它没有给出堆栈跟踪或消息警告。
从这一刻起,我不知道如何解决或跟踪这个问题。
一些帮助/提示?
这里有一个简单的程序来重现问题(jdk1.7.0_21)
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Choice;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextArea;
public class testmain extends java.applet.Applet{
public void init()
{
Panel p;
setLayout(new BorderLayout());
p = new Panel();
TextArea x = new TextArea();
x.setFocusTraversalKeysEnabled(true);
x.setText("asdf");
x.setEditable(true);
p.add(x);
add("Center", p);
p = new Panel();
p.add(new Button("One"));
p.add(new Button("Two"));
Choice c = new Choice();
c.addItem("one");
c.addItem("two");
c.addItem("three");
p.add(c);
add("South", p);
}
public static void main(String [] args)
{
Frame f = new Frame("Example 4");
testmain ex = new testmain();
ex.init();
f.add("Center", ex);
f.pack();
f.show();
}
}