package t3; import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class KeyEventDemo extends JFrame implements KeyListener{
static KeyEventDemo frm=new KeyEventDemo();
static JTextField tf=new JTextField(20);
static JTextArea ta=new JTextArea("",5,20);
public static void main(String args[]){
frm.setSize(200,150);
frm.setTitle("KeyEvent Demo");
frm.setLayout(new FlowLayout(FlowLayout.CENTER));
tf.addKeyListener(frm);
ta.setEditable(false);
frm.add(tf);
frm.add(ta);
frm.setVisible(true);
}
// 当tf组件触发KeyEvent事件时,根据事件的种类执行下列的程序代码
public void keyPressed(KeyEvent e){ // 当按键按下时
ta.setText("");
ta.append("keyPressed() 被调用\n");
}
public void keyReleased(KeyEvent e){ // 当按键放开时
ta.append("keyReleased() 被调用\n");
}
public void keyTyped(KeyEvent e){ // 键入内容时
ta.append("keyTyped() 被调用\n");
}
} 要求如下:
◣ 增加一个JTextArea,区域为10行20列。 ◣ 如果"a"键按下,则在新增加的JTextArea中显示“恭喜,你按下了a键”。
◣ 如果"b"键按下,则在新增加的JTextArea中显示“对不起,你按下了b键”。
import java.awt.event.*;
import javax.swing.*;
public class KeyEventDemo extends JFrame implements KeyListener{
static KeyEventDemo frm=new KeyEventDemo();
static JTextField tf=new JTextField(20);
static JTextArea ta=new JTextArea("",5,20);
public static void main(String args[]){
frm.setSize(200,150);
frm.setTitle("KeyEvent Demo");
frm.setLayout(new FlowLayout(FlowLayout.CENTER));
tf.addKeyListener(frm);
ta.setEditable(false);
frm.add(tf);
frm.add(ta);
frm.setVisible(true);
}
// 当tf组件触发KeyEvent事件时,根据事件的种类执行下列的程序代码
public void keyPressed(KeyEvent e){ // 当按键按下时
ta.setText("");
ta.append("keyPressed() 被调用\n");
}
public void keyReleased(KeyEvent e){ // 当按键放开时
ta.append("keyReleased() 被调用\n");
}
public void keyTyped(KeyEvent e){ // 键入内容时
ta.append("keyTyped() 被调用\n");
}
} 要求如下:
◣ 增加一个JTextArea,区域为10行20列。 ◣ 如果"a"键按下,则在新增加的JTextArea中显示“恭喜,你按下了a键”。
◣ 如果"b"键按下,则在新增加的JTextArea中显示“对不起,你按下了b键”。
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JTextField;public class KeyEventDemo extends JFrame implements KeyListener {
/**
*
*/
private static final long serialVersionUID = -9124455865998643315L;
private static KeyEventDemo frm;
private static JTextField tf;
private static JTextArea ta;
static {
if (frm == null)
frm = new KeyEventDemo();
if (tf == null)
tf = new JTextField(20);
if (ta == null)
ta = new JTextArea("", 5, 20);
} public static void main(String args[]) {
frm.setSize(500, 300);
frm.setTitle("KeyEvent Demo");
frm.setLayout(new FlowLayout(FlowLayout.CENTER));
tf.addKeyListener(frm);
ta.setEditable(false);
frm.add(tf);
frm.add(ta);
frm.setVisible(true);
} // 当tf组件触发KeyEvent事件时,根据事件的种类执行下列的程序代码
public void keyPressed(KeyEvent e) { // 当按键按下时
switch (e.getKeyCode()) {
case KeyEvent.VK_A: {
ta.append("恭喜,你按下了a键\r\n");
break;
}
case KeyEvent.VK_B: {
ta.append("恭喜,你按下了b键\r\n");
break;
}
default: {
return;
}
} } public void keyReleased(KeyEvent e) { // 当按键放开时
// ta.append("keyReleased() 被调用\n");
} public void keyTyped(KeyEvent e) { // 键入内容时
// ta.append("keyTyped() 被调用\n");
}
}
// ta.append("keyTyped() 被调用\n");
}
}
import java.awt.event.*;
import javax.swing.*;
public class KeyEventDemo extends JFrame implements KeyListener{
static KeyEventDemo frm=new KeyEventDemo();
static JTextField tf=new JTextField(20);
static JTextArea ta=new JTextArea("",5,20);
static JTextArea x=new JTextArea("",10,20);
// /////////////////////////////////////////////////////
// ◣ 增加一个JTextArea,区域为10行20列。
// /////////////////////////////////////////////////////
public static void main(String args[]){
frm.setSize(200,150);
frm.setTitle("KeyEvent Demo");
frm.setLayout(new FlowLayout(FlowLayout.CENTER));
x.setEditable(false);
tf.addKeyListener(frm);
ta.setEditable(false);
frm.add(tf);
frm.add(ta);
frm.add(x);
frm.setVisible(true);
}
// 当tf组件触发KeyEvent事件时,根据事件的种类执行下列的程序代码
public void keyPressed(KeyEvent e){ // 当按键按下时
ta.setText("");
ta.append("keyPressed() 被调用\n");
if(e.getKeyChar()=='a')
x.append("恭喜,你按下了a键"+"\n");
if(e.getKeyChar()=='b')
x.append("对不起,你按下了b键"+"\n");
///////////////////////////////////////////////////////
//◣ 如果"a"键按下,则在新增加的JTextArea中显示“恭喜,你按下了a键”。
//◣ 如果"b"键按下,则在新增加的JTextArea中显示“对不起,你按下了b键”。
///////////////////////////////////////////////////////
}
public void keyReleased(KeyEvent e){ // 当按键放开时
ta.append("keyReleased() 被调用\n");
}
public void keyTyped(KeyEvent e){ // 键入内容时
ta.append("keyTyped() 被调用\n");
}
}