【发布时间】:2010-05-20 14:45:43
【问题描述】:
当用户在 Java 中键入时,是否可以将 Textfield 中的字母大写?
例如用户输入“hello”,“HELLO”将出现在文本字段中。
(奇怪的请求,我也不喜欢这个主意)。
【问题讨论】:
当用户在 Java 中键入时,是否可以将 Textfield 中的字母大写?
例如用户输入“hello”,“HELLO”将出现在文本字段中。
(奇怪的请求,我也不喜欢这个主意)。
【问题讨论】:
Format JTextField's text to uppercase
使用DocumentFilter
或
How to Use Formatted Text Fields
使用MaskFormatter
【讨论】:
试试
jTextField.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
char keyChar = e.getKeyChar();
if (Character.isLowerCase(keyChar)) {
e.setKeyChar(Character.toUpperCase(keyChar));
}
}
});
【讨论】:
ModifyListener 和 getText().toUpperCase() 是你的朋友。
【讨论】:
这可能是一种低效的方法
但您可以在 KeyTyped 事件处理程序中有一个部分
if(event.getSource() == capitalTextArea) {
String text = capitalTextArea.getText();
if(Character.isLowerCase(text.charAt(text.length()-1))) {
capitalTextArea.setText(text.toUpperCase());
}
}
我可能有语法错误,但这是我要采取的方法
【讨论】:
试试
private void inText_UserIDKeyReleased( java.awt.event.KeyEvent evt ) {
String UsrID=inText_UserID.getText().toUpperCase();
inText_UserID.setText( UsrID );
}
【讨论】:
给觉得有趣的朋友一个帮助:如何让TextField中的字母大写。例如:图例:
txtCadastrarNome = 文本字段变量的名称。
txtCadastrarNomeKeyTyped = 从键盘输入时的操作。
private void txtCadastrarNomeKeyTyped(java.awt.event.KeyEvent evt) {
txtCadastrarNome.setText(txtCadastrarNomeCliente.getText().toUpperCase());
}
【讨论】: