黑马程序员技术交流社区
标题:
GUI 文本框监听事件不执行
[打印本页]
作者:
黑马朱超
时间:
2013-4-14 13:12
标题:
GUI 文本框监听事件不执行
本帖最后由 黑马朱超 于 2013-4-14 13:52 编辑
import java.awt.*;
import java.awt.event.*;
class keyDemo
{
//定义该图形中的所需要的组件的引用
private Frame f ;
private Button but;
private TextField tf ;
//构造函数
keyDemo()
{
init();
}
//初始化窗口
public void init()
{
f = new Frame("my Frame");
//对窗口进行基本设置
f.setBounds(300,100,400,500);
f.setLayout(new FlowLayout());
//建立文本框
tf = new TextField(20);
but = new Button("my button");
//添加组件
f.add(tf);
f.add(but);
//窗口可视
f.setVisible(true);
//添加窗体上事件
myEvent();
}
//写事件方法
private void myEvent()
{
f.addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{
System.out.println("exit");
System.exit(5);
}
});
//文本框监视器
tf.addKeyListener(new KeyAdapter()
{
public void KeyPressed(KeyEvent e)
{
System.out.println("wt");
int ch = e.getKeyCode();
if(!(ch>=KeyEvent.VK_0 && ch<= KeyEvent.VK_9))
{System.out.println(e.getKeyChar()+" 输入非法");
e.consume();//屏蔽键,如果敲入的不是数字就输入不进去
}
}
});
but.addActionListener(new ActionListener()
{
private int count = 1;
public void actionPerformed(ActionEvent e)
{
System.out.println("按钮点击次数"+count++);
//System.exit(0);
}
});
but.addMouseListener(new MouseAdapter()
{
private int count =1;
private int clickCount = 1;
private int doubleClickCount =1;
public void mouseEntered(MouseEvent e)
{
System.out.println("鼠标进入"+count++);
}
public void mouseClicked(MouseEvent e)
{
if(e.getClickCount() == 2)
System.out.println("鼠标双击"+doubleClickCount++);
//else
//System.out.println("鼠标单击"+clickCount++);
}
});
but.addKeyListener(new KeyAdapter()
{
private int count = 1;
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_ESCAPE)//静态常量和静态函数直接调用
System.exit(0);
else if(e.isControlDown() && e.getKeyCode() == KeyEvent.VK_ENTER)//组合键使用
System.out.println("sent message");
System.out.println(KeyEvent.getKeyText(e.getKeyCode())+"键点击"+e.getKeyChar()+e.getKeyCode());
//System.exit(0);
}
});
}
public static void main(String[] args)
{
new keyDemo();
}
}
复制代码
对于文本框键盘输入进行了监听,输入非数字进行屏蔽并报错。
但是编译运行时候监听的代码没有执行......
sigh
哪里出了问题呢?
作者:
黑马朱超
时间:
2013-4-14 13:52
调用函数keyPressed首字母写成了大写,汗
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2