易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
Java键盘事件监听
Java键盘事件监听(一):
package
com.han;
import
java.awt.Container;
import
java.awt.event.KeyEvent;
import
java.awt.event.KeyListener;
import
javax.swing.JFrame;
import
javax.swing.JLabel;
import
javax.swing.JScrollPane;
import
javax.swing.JTextArea;
import
javax.swing.SpringLayout;
/**
* 键盘事件监听(1)
* @author HAN
*
*/
public
class
KeyEvent_1
extends
JFrame {
/**
*
*/
private
static
final
long
serialVersionUID = -6762512303624322086L;
public
KeyEvent_1() {
// TODO Auto-generated constructor stub
Container container = getContentPane();
SpringLayout springLayout =
new
SpringLayout();
container.setLayout(springLayout);
JLabel remarqueLabel =
new
JLabel(
"remarque :"
);
JTextArea textArea =
new
JTextArea(
3
,
30
);
JScrollPane scrollPane =
new
JScrollPane();
scrollPane.setViewportView(textArea);
container.add(remarqueLabel);
springLayout.putConstraint(SpringLayout.WEST, remarqueLabel,
5
,
SpringLayout.WEST, container);
springLayout.putConstraint(SpringLayout.NORTH, remarqueLabel,
5
,
SpringLayout.NORTH, container);
container.add(scrollPane);
springLayout.putConstraint(SpringLayout.WEST, scrollPane,
5
,
SpringLayout.EAST, remarqueLabel);
springLayout.putConstraint(SpringLayout.NORTH, scrollPane,
5
,
SpringLayout.NORTH, container);
springLayout.putConstraint(SpringLayout.EAST, scrollPane, -
5
,
SpringLayout.EAST, container);
springLayout.putConstraint(SpringLayout.SOUTH, scrollPane, -
5
,
SpringLayout.SOUTH, container);
textArea.addKeyListener(
new
KeyListener() {
@Override
public
void
keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println(
"The charactor you typed : "
+
"""
+ e.getKeyChar() +
"""
);
}
@Override
public
void
keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
// 写大写字母时,释放按键是不知道是否先释放的是shift还是字母按键;但是
// 可以肯定的是按按键时必须是先按的shift。
if
(e.getKeyCode() == KeyEvent.VK_CONTROL ||
e.getKeyCode() == KeyEvent.VK_SHIFT ||
e.getKeyCode() == KeyEvent.VK_ALT) {
System.out.println(
" "
+
"The Component triggered : "
+ e.getSource());
}
if
(!(e.isControlDown() || e.isShiftDown() || e.isAltDown())) {
System.out.println(
" "
+
"The Component triggered : "
+ e.getSource());
}
String keyText = KeyEvent.getKeyText(e.getKeyCode());
if
(e.isActionKey()) {
System.out.print(
"The action key you pressed : "
+
"""
+ keyText +
"""
);
}
else
{
System.out.print(
"The non-action key you pressed : "
+
"""
+ keyText +
"""
);
int
keyCode = e.getKeyCode();
switch
(keyCode) {
case
KeyEvent.VK_CONTROL:
System.out.print(
", Control key is pressed"
);
break
;
case
KeyEvent.VK_SHIFT:
System.out.print(
", Shift key is pressed"
);
break
;
case
KeyEvent.VK_ALT:
System.out.print(
", Alt key is pressed"
);
break
;
}
}
System.out.println();
}
@Override
public
void
keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
// the integer code for an actual key on the keyboard.
// (For KEY_TYPED events, the keyCode is VK_UNDEFINED.)
System.out.println(
"The key you released : "
+
"""
+
KeyEvent.getKeyText(e.getKeyCode()) +
"""
);
}
});
}
/**
* @param args
*/
public
static
void
main(String[] args) {
// TODO Auto-generated method stub
KeyEvent_1 frame =
new
KeyEvent_1();
frame.setTitle(
"KeyEvent Test"
);
frame.setVisible(
true
);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(
0
,
0
,
600
,
300
);
}
}
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图