📄 event12_6.java
字号:
/**
* ClassName: Event12_6.class
* Description:
* Copyright: Copyright (c) 2002
* Company: 中国青年出版社
* @author: Hong Yi
* @version 1.0
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MyKeyListener implements KeyListener
{
public void keyPressed(KeyEvent evt)
{
System.out.println("\n按键被按下");
showKeyEventMsg(evt);
}
public void keyReleased(KeyEvent evt)
{
}
public void keyTyped(KeyEvent evt)
{
}
private void showKeyEventMsg(KeyEvent evt)
//显示按键事件信息
{
//得到按键对应的整型数
int code = evt.getKeyCode();
//返回按键事件所代表的字符
char c = evt.getKeyChar();
//得到代表按键的字符串
String szText = evt.getKeyText(code);
if (code != KeyEvent.VK_UNDEFINED)
System.out.println("\n按键对应的整型数:"+code);
if (c != KeyEvent.CHAR_UNDEFINED)
System.out.println("\n与按键相联系的字符:"+c);
if (evt.isShiftDown())
System.out.println("\n按键Shift被按下");
System.out.println("\n按键本身的字符串:"+szText);
}
}
class ButtonPanel extends JPanel
//声明ButtonPanel类为监听器类,实现ActionListener接口
{
public ButtonPanel()
{
//新建一个文本域组件
tf = new JTextField(20);
add(tf);
//指定用来处理该按钮事件的监听器对象为JPanel本身
myListener = new MyKeyListener();
tf.addKeyListener(myListener);
}
private JTextField tf;
private MyKeyListener myListener;
}
class ButtonFrame extends JFrame
{
public ButtonFrame()
{
//设置窗口MyFrame的标题
setTitle("事件示例程序12.6");
//设置窗口大小为宽300,高200象素
setSize(300, 200);
//通过设置窗口作上角坐标为(100,100)来设置窗口位置
setLocation(100,100);
//增加窗口事件监听器
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{ System.exit(0);
}
});
//得到当前窗口的内容窗口
Container ctPane = getContentPane();
//在内容面板中绘制自己定义的面板MyPanel
ctPane.add(new ButtonPanel());
}
}
public class Event12_6
{
public static void main(String[] args)
{
JFrame frame = new ButtonFrame();
frame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -