如何使得Java文本框只能输入英文字母?

java 文本框只能输入字母 且只能有一个~


大概就是这个意思,在输入框里面用正则表达式限制输入的类型和长度。上面只是随手写的,忘记这个是否输入错误就输入不进去了。你可以baidu正则表达式学习下

import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea; public class Spider extends JFrame{ private static final long serialVersionUID = 1L; public Spider() { setTitle("文本区示例"); setSize(500, 190); setResizable(false); setLayout(new BorderLayout()); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private Spider addComponents() { final JTextArea area = new JTextArea(); JScrollPane pane = new JScrollPane(area); add(pane, BorderLayout.CENTER); JPanel bottom = new JPanel(new FlowLayout(FlowLayout.LEFT)); JButton btn1 = new JButton("自动换行"); btn1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { area.setLineWrap(true); area.setWrapStyleWord(true); } }); JButton btn2 = new JButton("不换行"); btn2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { area.setWrapStyleWord(false); area.setLineWrap(false); } }); bottom.add(btn1); bottom.add(btn2); add(bottom, BorderLayout.SOUTH); return this; } public static void main(String[] args) { new Spider().addComponents().setVisible(true); }}

JTextArea jt = new JTextArea(20,20);
jt.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if(!Character.isLetter(c) || 127<c)e.consume();
}
});

像上面这样子就可以了

下面这个是 isLetter所过滤的字符集
UPPERCASE_LETTER
LOWERCASE_LETTER
TITLECASE_LETTER
MODIFIER_LETTER
OTHER_LETTER
似乎汉字也在其中, 以此加了一个127<c的判断

编写javascript函数checkId如下:
function checkId(o){
if(o.value!="")
for(i=0;i<o.value.length;i++){
if(!((o.value.charCodeAt(i)>=48&&o.value.charCodeAt(i)<=57)||(o.value.charCodeAt(i)>=65&&o.value.charCodeAt(i)<=90)||(o.value.charCodeAt(i)>=97&&o.value.charCodeAt(i)<=122)))
{
alert("ID只能由字母和数字组成!");
o.focus();
break;
}
}
}

用正则表达式,即java.util.regex.Pattern这个类

style="ime-mode : disabled"

做一个ascii码的范围限制就ok了

java 如何设置jTextField文本框只能输入数字?
答:\x0d\x0apublic class VoteElectKeyListener implements KeyListener {\x0d\x0a\x0d\x0a@Override\x0d\x0apublic void keyTyped(KeyEvent e) {\x0d\x0a// TODO Auto-generated method stub\x0d\x0aint keyChar=e.getKeyChar();\x0d\x0aif (keyChar>=KeyEvent.VK_0 && key...

java编写记事本实现限制只能输入英文字母和标点符号,并且实现首字母大写...
答://限制只能输入数字 TextField.addKeyListener(new KeyAdapter(){ public void keyTyped(KeyEvent e) { int keyChar = e.getKeyChar();if(keyChar >= KeyEvent.VK_0 && keyChar <= KeyEvent.VK_9){ }else{ e.consume(); //关键,屏蔽掉非法输入 } } });

java swing 怎么设置文本框只能输入数字
答:text.setMinimumSize(new java.awt.Dimension(50, 21));text.setPreferredSize(new java.awt.Dimension(50, 21));//过滤输入的字符 text.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { String old = text.getText();JFormattedTextField....

java程序限制文本框只能输入浮点数的方法以及非浮点数清空文本框
答:第一种,正则表达式匹配,看是否是浮点数 第二种,用异常处理,看转换成double类型出不出异常 用jlabel.setText("") 来清空文本框 参考代码 import java.awt.*;import java.awt.event.*;import javax.swing.*;public class InputFrame extends JFrame implements ActionListener {private static final lo...

请教各位java大神,怎么限制输入框JTextField中只能输入小数和整数,最...
答:用正则表达式,用try{}catch(){}方法判断JTextField.text.trim()是否满足正则表达式,不满足则提示输入错误,清空JTextField,重新输入

java 文本框只能输入字母 且只能有一个
答:public void insertString(int offs, String str, AttributeSet a) throws BadLocationException { if(offs > 0 && str.length() > 1) return; if(str.matches("[a-zA-Z]") super.insertString(offs, str, a); } JTextField tf = new JTextField(XXXDocument());或者使用...

java 文本框只能输入字母且只能输入一个字母
答:你这写代码只是对letter字符进行了限制,对文本框没有任何操作,当然爱输啥就输啥,只不过最后你得到的结果是首字母罢了,可以使用Document 类来进行控制

java 文本框只能输入字母 且只能有一个
答: 大概就是这个意思,在输入框里面用正则表达式限制输入的类型和长度。上面只是随手写的,忘记这个是否输入错误就输入不进去了。你可以baidu正则表达式学习下

java 如何让jtextarea只允许复制粘贴,禁止手动编辑键盘输入等~坐等高 ...
答:用你的JTextArea 对象调用setEditable(false)方法,貌似就这样就行了,setEditable()方法表示是否允许直接编辑JTextArea里的内容

java怎么在文本框中限制只能输入数字
答:obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");} <!--把下面代码加到与之间--> 只能输入数字和小数点的文本框:

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网