求教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后,字母就能输入了,也就是说监听无效了,为什么? TextField JTextField --------------------编程问答-------------------- 使用keyTyped这个方法。
或者把keyReleased也重写了 --------------------编程问答-------------------- 用keyTyped练数字都不能输入了 --------------------编程问答-------------------- 我估计是e.consume();有问题, e是java.awt.event.KeyEvent中的,但是javax.swing.event下面没有对应的KeyEvent,但是也找不到可以提替代的。 --------------------编程问答-------------------- 如果你用JTextField那么使用Jframe应该就没有问题了,你可以查看下java的api看下二者的区别,使用J**比较好的,你可以试试 --------------------编程问答-------------------- 用Jframe和Frame是一样 --------------------编程问答-------------------- 不管其他组件怎么改,用TextField就正常,用JTextField就功能失效。目前还是没有解决啊。 --------------------编程问答--------------------
JTextField应该使用一个定制的Document --------------------编程问答-------------------- 一个是awt中的 一个是swing中的,相应怎么用到api中查 --------------------编程问答--------------------
就是查不到 才问的啊。javax.swing.event下面没有对应的KeyEvent
补充:Java , Java SE