📄 chap12-7.txt
字号:
// 程序12-7
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class testEventKey extends subJFrame implements KeyListener{
String line1,line2,line3;
JTextArea textArea;
// 下面要覆盖接口KeyListener中的三个方法,以处理键盘事件
public void keyPressed(KeyEvent e) { // 覆盖keyPressed( )方法
line1="Key Pressed : "+e.getKeyText(e.getKeyCode( ));
setLine2and3(e); // 设置line2和line3
}
public void keyReleased(KeyEvent e) { // 覆盖keyReleased( )方法
line1="Key Released : "+e.getKeyText(e.getKeyCode( ));
setLine2and3(e); // 设置line2和line3
}
public void keyTyped(KeyEvent e) { // 覆盖keyTyped( )方法
line1="Key Typed : "+e.getKeyChar( );
setLine2and3(e); // 设置line2和line3
}
private void setLine2and3(KeyEvent e) { // 自定义方法
line2="Key is : "+(e.isActionKey( )? " ":"not")+" an action key";
String str=e.getKeyModifiersText(e.getModifiers( ));
line3="Modifier keys pressed: "+(str.equals("")? "none" : str);
textArea.setText(line1+"\n"+line2+"\n"+line3+"\n");
}
public testEventKey( ){ // 构造函数
super("testEventKey"); // 调用父类的构造函数
textArea=new JTextArea(10,15); // 定义一个文本区域
textArea.setText("Please press any key ...\n");
textArea.setEnabled(false);
getContentPane( ).add(textArea);
addKeyListener(this); // 当前对象自己监听自己
setSize(200,100);
show( );
}
public static void main(String args[ ]){
testEventKey obj=new testEventKey( );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -