你把这句
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(!(txt.getText().length() >='A' && txt.getText().length() <= 'Z')||(txt.getText().length() >='a' && txt.getText().length() <= 'z'))
// 就是这句有问题
改为:
b.addKeyListener(new KeyAdapter()
{
public void keyTyped(KeyEvent e)
{
char c = e.getKeyChar();
String textValue = OnlyInputCharacterField.this.getText();
int len = textValue.length();
if (Character.isLetter(c))
{ return;}
else
{ e.consume();}
}
});
试试
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(!(txt.getText().length() >='A' && txt.getText().length() <= 'Z')||(txt.getText().length() >='a' && txt.getText().length() <= 'z'))
// 就是这句有问题
改为:
b.addKeyListener(new KeyAdapter()
{
public void keyTyped(KeyEvent e)
{
char c = e.getKeyChar();
String textValue = OnlyInputCharacterField.this.getText();
int len = textValue.length();
if (Character.isLetter(c))
{ return;}
else
{ e.consume();}
}
});
试试
解决方案 »
- 向hashSet中添加相同对象问题
- 怎样用arraylist.add(index.element)直接将一个element加到指定位置?
- JFrame和JPanel里的布局为什么不一样呢?
- 我准备做一个类似PL/SQL的工具(要跨平台),想要特定解吸库(Oracle/mysql/sqlserver/...)结构,是不是要用到他们专用的java api
- 如何实现一个JDialog没有边框,并且可以托大大小?
- Float.NaN到底是什么东东?
- 我的第一个JAVA程序尽然出错了,郁闷中,请各位前辈指教!
- ****** iplanet在solaris上的安装和启动故障,我无法解决!帮忙看看吧
- 请给一些建议!
- 关于继承中super到底引用了哪个对象
- 连接SQL server 2000数据库问题
- getChannel()问题
{ return;}
else
{ e.consume();}在这里的else中漏了一句
System.out.println("请输入字母!");
import java.awt.event.*;public class TestWeb {
public static void main(String args[]) {
FrameDemo f = new FrameDemo();
f.show();
}
}class FrameDemo
extends Frame {
Button b = new Button("ok");
TextField txt = new TextField(20);
public FrameDemo() {
setSize(200, 100);
setLayout(new FlowLayout());
add(txt);
add(b);
txt.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if (Character.isLetter(c)) {
return;
}
else {
e.consume();
System.out.println("Please input!");
}
}
}); /*
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(!(txt.getText().length() >='A' && txt.getText().length() <= 'Z')||
(txt.getText().length() >='a' && txt.getText().length() <= 'z'))
{
System.out.println("请输入字母");
}
}
});*/ }
}
--------------------Configuration: j2sdk1.4.2 <Default>--------------------
E:\Test.java:39: cannot resolve symbol
symbol: class OnlyInputCharacterField
String textValue = OnlyInputCharacterField.this.getText();
^
1 errorProcess completed.
现在编译成功了
但是有个问题,不能按退格符或者delete阿,如果输错的话……
可以增加一句
if(c=='\b'){你的代码}
import java.awt.event.*;public class TestWeb
{
public static void main(String args[])
{
FrameDemo f = new FrameDemo();
f.show();
}
}class FrameDemo extends Frame implements ActionListener
{
Button b = new Button("ok");
TextField txt = new TextField(20);
public FrameDemo()
{
setSize(200, 100);
setLayout(new FlowLayout());
add(txt);
add(b);
txt.addKeyListener(new KeyAdapter()
{
public void keyTyped(KeyEvent e)
{
char c = e.getKeyChar();
String textValue = txt.getText();
int len = textValue.length();
if (c == '\b'){}
else
{
if (Character.isLetter(c))
{
return;
}
else
{
e.consume();
System.out.println("Please input!");
}
} }
});
txt.addActionListener(this);
} public void actionPerformed(ActionEvent evt)
{
System.out.println(txt.getText());
}
}