0

完成 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();
       }
}
4

0 回答 0