java 禁用按键的疑难问题

wangheng1700 2009-08-11 08:19:37
现在我定义了一个JEditorPane
请问如何仅仅只在这个组件上禁用除了上,下,左,右之外的按键呢
不是全局的啊,是仅对改组件有效的

另外请附上一个实例,不要说些无稽之谈的话

谢谢大家了,感激不尽
...全文
87 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangheng1700 2009-08-11
  • 打赏
  • 举报
回复
2楼的兄弟太感谢你了
czp3158 2009-08-11
  • 打赏
  • 举报
回复
ding……
healer_kx 2009-08-11
  • 打赏
  • 举报
回复

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JEditorPane;
import javax.swing.JFrame;


public class A extends JFrame {

public static void main(String[] args) {

A a = new A();

a.setVisible(true);

JEditorPane p = new JEditorPane();
a.add(p);

p.addKeyListener(new KeyListener() {

@Override
public void keyPressed(KeyEvent arg0) {
int kc = arg0.getKeyCode();
if (kc == KeyEvent.VK_UP ||
kc == KeyEvent.VK_DOWN||
kc == KeyEvent.VK_LEFT||
kc ==KeyEvent.VK_RIGHT)
{
arg0.consume();
}

}

@Override
public void keyReleased(KeyEvent arg0) {
int kc = arg0.getKeyCode();
if (kc == KeyEvent.VK_UP ||
kc == KeyEvent.VK_DOWN||
kc == KeyEvent.VK_LEFT||
kc ==KeyEvent.VK_RIGHT)
{
arg0.consume();
}

}

@Override
public void keyTyped(KeyEvent arg0) {
int kc = arg0.getKeyCode();
if (kc == KeyEvent.VK_UP ||
kc == KeyEvent.VK_DOWN||
kc == KeyEvent.VK_LEFT||
kc ==KeyEvent.VK_RIGHT)
{
arg0.consume();
}

}

});

}
}

sooneasy 2009-08-11
  • 打赏
  • 举报
回复
无稽之谈的话

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧