| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 657 人关注过本帖
标题:关于KeyListener问题
只看楼主 加入收藏
JavaBean
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-9-30
收藏
 问题点数:0 回复次数:3 
关于KeyListener问题

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class KeyBoardTest extends JFrame {

public KeyBoardTest(){
super("Try");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200,200);
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
//JPanel a = new PanelA();
JPanel b = new PanelB();
//cp.add(a,BorderLayout.NORTH);
cp.add(b,BorderLayout.CENTER);
b.setFocusable(true);

setVisible(true);
}
public static void main(String[] args) {
new KeyBoardTest();

}
}
class PanelA extends JPanel{
public PanelA(){
setLayout(new FlowLayout());
add(new JButton("PanelA"));
}
}
class PanelB extends JPanel implements KeyListener{
public PanelB(){
addKeyListener(this);
}
public void keyPressed(KeyEvent e){
System.out.println("KeyEvent");
}
public void keyReleased(KeyEvent e){
}
public void keyTyped(KeyEvent e){
}
}
这段代码,可以实现键盘监听功能!
但是,如果我把注释了的两行代码加进去,为什么就不能实现键盘监听功能了啊
哥哥姐姐,帮帮小弟。谢了

搜索更多相关主题的帖子: KeyListener 
2005-11-26 22:27
飘飘叶子
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:597
专家分:10
注 册:2005-8-17
收藏
得分:0 

具体的不清楚,但为什么要为面板添加键盘监听啊……如果在PanelB里加上一个JTextField就没问题了,难道是焦点的问题?
添加了一个文本框后:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class KeyBoardTest extends JFrame {

public KeyBoardTest(){
super("Try");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200,200);
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
JPanel a = new PanelA();
JPanel b = new PanelB();
cp.add(a,BorderLayout.NORTH);
cp.add(b,BorderLayout.CENTER);
b.setFocusable(true);

setVisible(true);
}
public static void main(String[] args) {
new KeyBoardTest();

}
}
class PanelA extends JPanel{
public PanelA(){
setLayout(new FlowLayout());
add(new JButton("PanelA"));
}
}
class PanelB extends JPanel implements KeyListener{
JTextField text;
public PanelB(){
text = new JTextField(10);
text.addKeyListener(this);
add(text);
}
public void keyPressed(KeyEvent e){
System.out.println("KeyEvent");
}
public void keyReleased(KeyEvent e){
}
public void keyTyped(KeyEvent e){
}
}


向着软件工程师的目标前进!
2005-11-27 12:30
Chiriko
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-12-10
收藏
得分:0 
结果是一个按钮 和一个文本框 可是按那个按钮好象没动静

2005-12-11 09:35
飘飘叶子
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:597
专家分:10
注 册:2005-8-17
收藏
得分:0 
按那个按钮当然没有动静……当你在文本框中输入文字的时候才会有动静…………

向着软件工程师的目标前进!
2005-12-11 10:23
快速回复:关于KeyListener问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.010883 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved