首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

JTextField障蔽数字时consumer()无效而TextField有效

2013-06-26 
JTextField屏蔽数字时consumer()无效而TextField有效用AWT写,如下,非数字无法输入Javaconsume()swing和awt

JTextField屏蔽数字时consumer()无效而TextField有效



用AWT写,如下,非数字无法输入

                                                  Java                    consume()                    swing和awt                    JTextField和TextField                                              
[解决办法]
使用 keyTyped 方法。
[解决办法]
#3说的对。
public class test5 extends JFrame {

public test5() {
JTextField field = new JTextField(10);
field.addKeyListener(new KeyAdapter() {
//添加事件监听
public void keyTyped(KeyEvent e)
{
//System.out.println(e.getKeyCode());
if(!(e.getKeyChar()>=KeyEvent.VK_0 && e.getKeyChar()<=KeyEvent.VK_9))
{

e.consume();//?????怎么没用效啊
}
}
});
this.add(field);
this.setLayout(new FlowLayout());
this.setBounds(100, 200, 300, 100);
this.setVisible(true);


this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args)
{
new test5();
}

}




awt的;
public class test5 extends Frame {
public test5() {
TextField field = new TextField(10);
field.addKeyListener(new KeyAdapter() {
//添加事件监听
public void keyTyped(KeyEvent e)
{
System.out.println(e.getKeyCode());
if(!(e.getKeyChar()>=KeyEvent.VK_0 && e.getKeyChar()<=KeyEvent.VK_9))
{
e.consume();
}
}
});
this.add(field);
this.setLayout(new FlowLayout());
this.setBounds(100, 200, 300, 100);
this.add(new Label("AWT 不能输入字符"));
this.setVisible(true);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}

public static void main(String[] args)
{
new test5();
}

}

[解决办法]
引用:
谁能详细解释一下 keyTeped 是个啥意思?帮助文档看不到

keyPressed 按下
keyReleased 释放
keyTyped 按下+释放

热点排行