import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class TestKey extends JFrame implements KeyListener{
public TestKey(){
setSize(200,100);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addKeyListener(this); //<---------------here
} public static void main(String[] argv){
TestKey tk = new TestKey();
} public void keyPressed(KeyEvent e){
} public void keyReleased(KeyEvent e){
} public void keyTyped(KeyEvent e){
JOptionPane.showMessageDialog(
null,
"succeed",
"Show",
JOptionPane.INFORMATION_MESSAGE); }
}
import java.awt.event.*;
import javax.swing.*;public class TestKey extends JFrame implements KeyListener{
public TestKey(){
setSize(200,100);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addKeyListener(this); //<---------------here
} public static void main(String[] argv){
TestKey tk = new TestKey();
} public void keyPressed(KeyEvent e){
} public void keyReleased(KeyEvent e){
} public void keyTyped(KeyEvent e){
JOptionPane.showMessageDialog(
null,
"succeed",
"Show",
JOptionPane.INFORMATION_MESSAGE); }
}
TestKey tk = new TestKey();
tk.addKeyListener(tk); //增加这一行。}
多谢!import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class TestKey extends JFrame implements KeyListener{
public TestKey(){
JPanel j = new JPanel();
JButton b = new JButton("button");
j.add(b);
getContentPane().add(j);
addKeyListener(this);
setSize(200,100);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} public static void main(String[] argv){
TestKey tk = new TestKey();
} public void keyPressed(KeyEvent e){
} public void keyReleased(KeyEvent e){
} public void keyTyped(KeyEvent e){
JOptionPane.showMessageDialog(
null,
"succeed",
"Show",
JOptionPane.INFORMATION_MESSAGE); }
}
import java.awt.event.*;
import javax.swing.*;public class TestKey extends JFrame implements KeyListener{
public TestKey(){
JPanel j = new JPanel();
JButton b = new JButton("button");
b.addKeyListener(this); //<----------------here
j.add(b);
getContentPane().add(j);
addKeyListener(this);
setSize(200,100);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} public static void main(String[] argv){
TestKey tk = new TestKey();
} public void keyPressed(KeyEvent e){
} public void keyReleased(KeyEvent e){
} public void keyTyped(KeyEvent e){
JOptionPane.showMessageDialog(
null,
"succeed",
"Show",
JOptionPane.INFORMATION_MESSAGE); }
}
难道每个控件都要写上addKeyListener?