已经对其添加了addKeyListener,当该控件获得焦点的时候,不能捕捉按键,求解,谢谢。
解决方案 »
- 重新问一下java 的class 为什么不可以是protected访问权限?
- jdk中大整数相乘的实现方法的疑惑
- int是integer类吗?
- java串口包怎么装到eclipse中?
- 用Swing和socket的困扰
- 求助,多媒体文件格式分析方法
- java中可以实现类似ole的功能吗?
- 难题!!请各位大是帮忙!!!
- 怎样在JTree的节点上设置一个CheckBox?
- 我声明一个 public void store() 系统说是非法字符 这是什么原因?
- 请问各位这个import s2Jsp.sg.ch03ConnectionManager;他是想导入什么东西啊??
- 请教:自制弹球中的一些BUG
import java.awt.event.*;public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(800, 600);
JDesktopPane desk = new JDesktopPane();
JInternalFrame iFrame = new JInternalFrame("内部窗体", true, true, true, true);
iFrame.setSize(200, 200);
desk.add(iFrame);
iFrame.setVisible(true);
iFrame.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent event) {
System.out.println("内部窗体1中您按下的键是" + event.getKeyChar());
}
});
JInternalFrame iFrame2 = new JInternalFrame("内部窗体2", true, true, true, true);
iFrame2.setBounds(100, 200, 200, 200);
desk.add(iFrame2);
iFrame2.setVisible(true);
iFrame2.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent event) {
System.out.println("内部窗体2中您按下的键是" + event.getKeyChar());
}
});
frame.add(desk);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
iFrame.requestFocus();
iFrame2.requestFocus();
desk.requestFocus();
}
}关键是最后的requestFocus()方法,而且一定要放在JFrame.setVisible()之后调用,否则无效,因为JFrame都不可见,根本不可能让其上面的组件获取焦点。