// UpperCaseTextField.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class UpperCaseTextField extends JFrame
{
private JTextField upperCaseTextField;
public UpperCaseTextField()
{
Container container = getContentPane();
container.setLayout(new FlowLayout());
upperCaseTextField = new JTextField(15);
upperCaseTextField.addKeyListener(new UpperCaseTextFieldHandler());
container.add(upperCaseTextField);
setSize(200, 100);
setVisible(true);
}
class UpperCaseTextFieldHandler implements KeyListener
{
public void keyPressed(KeyEvent ke)
{
}
public void keyReleased(KeyEvent ke)
{
}
public void keyTyped(KeyEvent ke)
{
if(!Character.isUpperCase(ke.getKeyChar()))
ke.consume();
}
}
public static void main(String args[])
{
UpperCaseTextField application = new UpperCaseTextField();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
----------------解决方案--------------------------------------------------------
这样就可以了啊
你不是已经会了吗
----------------解决方案--------------------------------------------------------
我还不知道key事件里可以用consum()这个方法呢!
学到新知识了。我以前都是先设置文本区setEditable(false)来搞 的
----------------解决方案--------------------------------------------------------
consume()就是把这个事件消费掉,不传了
就跟没有发生这个事一样
----------------解决方案--------------------------------------------------------
懂了,老大。
哈哈
----------------解决方案--------------------------------------------------------
但是要验证是否是A_B这个格式呢?
----------------解决方案--------------------------------------------------------
学到个新方法,谢谢斑竹老~~
----------------解决方案--------------------------------------------------------
但是要验证是否是A_B这个格式呢?
----------------解决方案--------------------------------------------------------
谢谢 我也学到了``
----------------解决方案--------------------------------------------------------
还是不懂楼主要的是什么样子的`
----------------解决方案--------------------------------------------------------