rt
我的程序不知道为什么获不了,高手指点下
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class test extends JFrame{
public static void main(String [] args)
{
test t = new test();
t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
t.setVisible(true);
}
public test()
{
setSize(200,200);
setTitle("test");
Jp J = new Jp();
add(J);
this.addKeyListener(new KeyAdapter()
{
public void KeyPressed(KeyEvent e)
{
System.out.print("KeyBoard");
}
});
}
}
class Jp extends JPanel{
public Jp()
{
JButton Jn = new JButton("按钮");
add(Jn);
Jn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.out.print("button");
}
});
}
}按钮是可以,键盘就不行了,错哪了?
我的程序不知道为什么获不了,高手指点下
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class test extends JFrame{
public static void main(String [] args)
{
test t = new test();
t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
t.setVisible(true);
}
public test()
{
setSize(200,200);
setTitle("test");
Jp J = new Jp();
add(J);
this.addKeyListener(new KeyAdapter()
{
public void KeyPressed(KeyEvent e)
{
System.out.print("KeyBoard");
}
});
}
}
class Jp extends JPanel{
public Jp()
{
JButton Jn = new JButton("按钮");
add(Jn);
Jn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.out.print("button");
}
});
}
}按钮是可以,键盘就不行了,错哪了?
InputMap imap = J.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
imap.put(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0), "delete element");
ActionMap amap = J.getActionMap();
amap.put("delete element", deleteAction);
用ActionMap映射可以 具体原因不名
中的方法是
keyPress(int keycode)
不是 KeyPress(int keycode)
中的方法是
keyPress(int keycode)
不是 KeyPress(int keycode) oh,,,我傻了,,
import java.awt.*;
import java.awt.event.*;public class test extends JFrame { public static void main(String[] args) {
test t = new test();
t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
t.setVisible(true);
} public test() {
setSize(200, 200);
setTitle("test");
Jp J = new Jp();
add(J); }}class Jp extends JPanel { public Jp() {
JButton Jn = new JButton("按钮");
add(Jn);
Jn.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) { System.out.print("KeyBoard");
}
}); Jn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
System.out.print("button");
}
}); }
}
我改成这样就可以.把keyListenner放在按钮上就行,为什么一定要放按钮呢>?
奇怪,还是没有搞清楚