黑马程序员技术交流社区
标题:
为什么按键之后没有反应
[打印本页]
作者:
赵方明
时间:
2012-7-27 15:21
标题:
为什么按键之后没有反应
import java.awt.*;
import java.awt.event.*;
class MouseAndKeyEvent
{
private Frame f;
private Button but;
MouseAndKeyEvent()
{
init();
}
public void init()
{
f=new Frame("wode chuangkou");
but=new Button("anyixia");
f.setBounds(300,200,600,500);
f.setLayout(new FlowLayout());
f.add(but);
myEvent();
f.setVisible(true);
}
public void myEvent()
{
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
but.addKeyListener(new KeyAdapter()
{
public void KeyPressed(KeyEvent e)
{
System.out.println(e.getKeyChar()+"..."+e.getKeyCode());
}
});
/*
but.addMouseListener(new MouseAdapter()
{
public void mouseEntered(MouseEvent e)
{
System.out.println("andaoshangmle");
}
public void mouseClicked(MouseEvent e)
{
if (e.getClickCount()==2)
{
add();
}
}
});
*/
}
public void add()
{
int a=5,b=5;
int sum=a+b;
System.out.println("a加b的结果为"+sum);
}
public static void main(String[] args)
{
new MouseAndKeyEvent();
}
}
这个键盘事件,该有的都有了啊,为什么按键之后,dos里没反应呢?
作者:
黑马连家华
时间:
2012-7-27 15:54
import java.awt.*;
import java.awt.event.*;
class MouseAndKeyEvent
{
private Frame f;
private Button but;
MouseAndKeyEvent()
{
init();
}
public void init()
{
f=new Frame("wode chuangkou");
but=new Button("anyixia");
f.setBounds(300,200,600,500);
f.setLayout(new FlowLayout());
f.add(but);
myEvent();
f.setVisible(true);
}
public void myEvent()
{
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
but.addKeyListener(new KeyAdapter()
{
public void
k
eyPressed(KeyEvent e)
//这里注意小写 其它没看.这里改了问题解决了 给好评哦亲
{
System.out.println(e.getKeyChar()+"..."+e.getKeyCode());
}
});
/*
but.addMouseListener(new MouseAdapter()
{
public void mouseEntered(MouseEvent e)
{
System.out.println("andaoshangmle");
}
public void mouseClicked(MouseEvent e)
{
if (e.getClickCount()==2)
{
add();
}
}
});
*/
}
public void add()
{
int a=5,b=5;
int sum=a+b;
System.out.println("a加b的结果为"+sum);
}
public static void main(String[] args)
{
new MouseAndKeyEvent();
}
}
作者:
王渠
时间:
2012-7-27 16:01
import java.awt.*;
import java.awt.event.*;
class MouseAndKeyEvent {
private Frame f;
private Button but;
MouseAndKeyEvent() {
init();
}
public void init() {
f = new Frame("wode chuangkou");
but = new Button("anyixia");
f.setBounds(300, 200, 600, 500);
f.setLayout(new FlowLayout());
f.add(but);
myEvent();
f.setVisible(true);
}
public void myEvent() {
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
but.addKeyListener(new KeyAdapter() {
// public void keyPressed(KeyEvent e) {
// System.out.println(e.getKeyChar() + "..." + e.getKeyCode());
// }
public void keyReleased(KeyEvent e) {
System.out.println(e.getKeyChar() + "..." + e.getKeyCode());
}
// public void keyTyped(KeyEvent e) {
// System.out.println(e.getKeyChar() + "..." + e.getKeyCode());
// }
});
/*
*
* but.addMouseListener(new MouseAdapter() {
*
* public void mouseEntered(MouseEvent e) {
* System.out.println("andaoshangmle");
*
* }
*
* public void mouseClicked(MouseEvent e) { if (e.getClickCount()==2) {
* add(); }
*
* } });
*/
}
public void add() {
int a = 5, b = 5;
int sum = a + b;
System.out.println("a加b的结果为" + sum);
}
public static void main(String[] args) {
new MouseAndKeyEvent();
}
}
复制代码
//自己这点也不是非常清楚,所以也去测试了,KeyAdapter类下面有三个方法,分别代表的三个不同的事件。
我们一般的按键盘事件,三个方法都会收到事件,但是能用来处理getKeyChar方法和getKeyCode的只有KeyAdapter类下面keyReleased方法。
其他的两种方法应该可以去处理keyEvent的其他方法。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2