还是关于键盘事件。。。 我想在键盘上按一个按键,然后使得label里面的内容改成刚刚按的键,现在按字母的话就能成功,但如果按的是shift Ctrl 这些键就挂了,想问问有没有方法让我按这类键的时候也能正常显示该键所代表的内容呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 部分代码如下public void changeSettings(JLabel label1){ final JLabel label = label1; label1.setFocusable(true); label1.setBorder(BorderFactory.createEmptyBorder(5,5,5,5)); label1.addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent e){ label.requestFocusInWindow(); } }); label1.addKeyListener(new KeyAdapter(){ public void keyTyped(KeyEvent e){ if(Character.isISOControl(e.getKeyChar())){ label.setText(KeyEvent.getKeyText(e.getKeyChar())); } else if(Character.isWhitespace(e.getKeyChar())){ label.setText("space"); } else if(KeyEvent.VK_HOME == e.getKeyCode()){ label.setText("Home"); } else if(KeyEvent.VK_END == e.getKeyCode()){ label.setText("End"); } else if(KeyEvent.VK_PAGE_UP == e.getKeyCode()){ label.setText("PgUp"); } else if(KeyEvent.VK_PAGE_DOWN == e.getKeyCode()){ label.setText("PgDn"); } else if(KeyEvent.VK_UP == e.getKeyCode()){ label.setText("up"); } else if(KeyEvent.VK_DOWN == e.getKeyCode()){ label.setText("down"); } else if(KeyEvent.VK_LEFT == e.getKeyCode()){ label.setText("left"); } else if(KeyEvent.VK_RIGHT == e.getKeyCode()){ label.setText("right"); } else if(KeyEvent.VK_TAB == e.getKeyCode()){ label.setText("Tab"); } else if(KeyEvent.VK_CONTROL == e.getKeyCode()){ label.setText("Ctrl"); } else if(KeyEvent.VK_SHIFT == e.getKeyCode()){ label.setText("Shift"); } else if(KeyEvent.VK_CAPS_LOCK == e.getKeyCode()){ label.setText("CapsLK"); } else { label.setText(""+e.getKeyChar()); } } }); public Object getSource()最初发生 Event 的对象。 返回:最初发生 Event 的对象。 求!javax.swing类中的JTable做个简单的表格怎么做?求代码! 用正则表达式如何提取绝对路径下的文件名? 用eclipse连接oracle10g的问题 如何判断jis第一水准 第二水准 外字??shift-jis有第一水准 第二水准 外字区分吗?? 解释一句代码? 关于哈夫曼树的问题(急用) java里有选择时间的控件吗??? Vector 的问题,(急需!!!) API 做app里面一个模块聊天室,用mina框架好吗? Jlable输出循环的值 一个小问题
public void changeSettings(JLabel label1){
final JLabel label = label1;
label1.setFocusable(true);
label1.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
label1.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
label.requestFocusInWindow();
}
});
label1.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent e){
if(Character.isISOControl(e.getKeyChar())){
label.setText(KeyEvent.getKeyText(e.getKeyChar()));
}
else if(Character.isWhitespace(e.getKeyChar())){
label.setText("space");
}
else if(KeyEvent.VK_HOME == e.getKeyCode()){
label.setText("Home");
}
else if(KeyEvent.VK_END == e.getKeyCode()){
label.setText("End");
}
else if(KeyEvent.VK_PAGE_UP == e.getKeyCode()){
label.setText("PgUp");
}
else if(KeyEvent.VK_PAGE_DOWN == e.getKeyCode()){
label.setText("PgDn");
}
else if(KeyEvent.VK_UP == e.getKeyCode()){
label.setText("up");
}
else if(KeyEvent.VK_DOWN == e.getKeyCode()){
label.setText("down");
}
else if(KeyEvent.VK_LEFT == e.getKeyCode()){
label.setText("left");
}
else if(KeyEvent.VK_RIGHT == e.getKeyCode()){
label.setText("right");
}
else if(KeyEvent.VK_TAB == e.getKeyCode()){
label.setText("Tab");
}
else if(KeyEvent.VK_CONTROL == e.getKeyCode()){
label.setText("Ctrl");
}
else if(KeyEvent.VK_SHIFT == e.getKeyCode()){
label.setText("Shift");
}
else if(KeyEvent.VK_CAPS_LOCK == e.getKeyCode()){
label.setText("CapsLK");
}
else {
label.setText(""+e.getKeyChar());
}
}
});
最初发生 Event 的对象。