标题:求教TextField与JTextField的区别?
只看楼主
windergao
Rank: 2
等 级:论坛游民
威 望:1
帖 子:15
专家分:57
注 册:2013-6-13
结帖率:66.67%
已结贴  问题点数:20 回复次数:8 
求教TextField与JTextField的区别?
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;


class test
{
    private Frame f;
        private TextField tf;

    test()
    {
        init();
    }

    public void init()
    {
        f = new Frame("my frame");

        f.setBounds(300,100,600,500);
        f.setLayout(new FlowLayout());

        tf = new TextField(20);
        
        f.add(tf);
   
        myEvent();

        f.setVisible(true);

    }
    private void myEvent()
    {
        tf.addKeyListener(new KeyAdapter()
        {
            public void keyPressed(KeyEvent e)
            {
                int code = e.getKeyCode();
                if(!(code>=KeyEvent.VK_0 && code<=KeyEvent.VK_9))
                {
                    System.out.println(code+".....是非法的");
                    e.consume();
                }


            }
        });
    }

    public static void main(String[] args)
    {
        new test();
    }
}
//这是个只能输入数字不能输入字母的代码,但是上面的TextFiel改成JTextField后,字母就能输入了,也就是说监听无效了,为什么?
搜索更多相关主题的帖子: private public frame import 
2013-06-30 21:25
Kingbox_tang
Rank: 7Rank: 7Rank: 7
来 自:天津师范大学
等 级:黑侠
威 望:3
帖 子:146
专家分:677
注 册:2012-11-27
得分:7 
基本上没有什么区别,就是jtextfield是swing包内的,而textfield是awt包内的。还有就是swing是awt的派生类,比AWT更方便使用,几乎涵盖了AWT的所有优点

旨在提高编程水平,学有所用,学有所成,学有所为。
2013-07-01 22:49
xioun
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:68
专家分:309
注 册:2013-4-8
得分:7 
所使用的工具类不同而已

命若天定,我就破了这个天!
2013-07-02 08:49
windergao
Rank: 2
等 级:论坛游民
威 望:1
帖 子:15
专家分:57
注 册:2013-6-13
得分:0 
以下是引用Kingbox_tang在2013-7-1 22:49:16的发言:

基本上没有什么区别,就是jtextfield是swing包内的,而textfield是awt包内的。还有就是swing是awt的派生类,比AWT更方便使用,几乎涵盖了AWT的所有优点

那为什么上面的代码使用textfield后只能输入数字不能输入字母,也就是程序是正常的,但是换成jtextfield,程序功能就失效了啊?
2013-07-02 11:27
windergao
Rank: 2
等 级:论坛游民
威 望:1
帖 子:15
专家分:57
注 册:2013-6-13
得分:0 
以下是引用xioun在2013-7-2 08:49:03的发言:

所使用的工具类不同而已

能不能具体一点?我上面的代码为什么用jtextfield后功能会失效?
2013-07-02 11:29
autumnwln
Rank: 1
等 级:新手上路
帖 子:4
专家分:7
注 册:2013-7-1
得分:7 
你这TextField应该是对应Frame。JTextField应该是对应JFrame吧。
2013-07-02 14:25
autumnwln
Rank: 1
等 级:新手上路
帖 子:4
专家分:7
注 册:2013-7-1
得分:0 
回复 6楼 autumnwln
监听器应该也是对应的吧
2013-07-02 14:34
windergao
Rank: 2
等 级:论坛游民
威 望:1
帖 子:15
专家分:57
注 册:2013-6-13
得分:0 
但是javax.swing.event下面没有对应的KeyEvent 父类也没找到相应的Event .怎么大家都不太用JTextField吗?
2013-07-02 18:00
autumnwln
Rank: 1
等 级:新手上路
帖 子:4
专家分:7
注 册:2013-7-1
得分:0 
回复 8楼 windergao
e.consume()去掉,TextField就能显示输入的字母了。可能就是因为这个e是java.awt.event.KeyEvent类型。而JTextField是swing中的,并且swing中没有可代替的类。程序中的e.consume()应该意思是不显示字母在TextField中
2013-07-02 22:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-416413-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056043 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved