java怎样限制文本框内容为数字? java怎样限制文本框内容为数字? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package num; import javax.swing.*; import java.awt.*; import java.awt.event.*; /** * @author user * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class EnterNumber extends JFrame { JPanel panel; JTextField enterNum; public EnterNumber() { enterNum=new JTextField(5); enterNum.addKeyListener(new EnterAction()); panel=new JPanel(); getContentPane().add(panel); panel.add(enterNum); addWindowListener(new WindowAction()); pack(); setVisible(true); setLocation(300,300); } class WindowAction extends WindowAdapter { public void windowClosing(WindowEvent win_e) { System.exit(0); } } class EnterAction extends KeyAdapter { public void keyPressed(KeyEvent enter_e) { System.out.println(enter_e.getKeyCode()); if(enter_e.getKeyCode()<48||enter_e.getKeyCode()>57) { JOptionPane.showMessageDialog(null,"请填写数字"); enterNum.setText(""); return; } } } public static void main(String args[]) { new EnterNumber(); } } JBuilder2005 怎样限制文本框内容为数字?如果不是数字的话,显示出一个消息框,文本框内容清空、 MaskFormatter mask = new MaskFormatter("##########");JFormattedTextField input = new JFormattedTextField(mask);input文本框中只能输入10位数字了。附带字符定义表:字符 描述# 任何有效数字,使用 Character.isDigit。 ' 转义字符,用于避开任何具有特殊格式的字符。 U 任何字符 (Character.isLetter)。将所有小写字母映射为大写。 L 任何字符 (Character.isLetter)。将所有大写字母映射为小写。 A 任何字符或数字(Character.isLetter 或 Character.isDigit) ? 任何字符 (Character.isLetter)。 * 所有字符。 如果可以的话,也可以用JSpinner来替代。private JSpinner aSpinner;aSpinner.setEditor(new JSpinner.NumberEditor(aSpinner, "0000")); 我来吧. 前面的我多看了好像多不怎么合意你看看我的要得不 ?可以用js来控制!代码:<script type="text/javascript"> function isnum(){ if(event.keyCode>=65){ alert("你输入的必须是数字!"); event.returnValue=false; } }</script>...........<input type="text" name="" onkeypress="isnum()"> 楼上是采用键盘监听器来控制的,这种方法可能会有一些副作用,而且要考虑键盘时间的多样性,也就是没有从本质上解决问题。这是最好的方法是使用JTextField.getDocument().addDocumentListener(DocumentListene)),在DocumentListener中对JTextField中的内容就行检查并提示错误,是最好的。因为只要JTextField中的内容被改变,无论通过什么途径(键盘,ctrl + v,del等)都会有效。 【求助】关于线程的wait和notify机制的问题 XML追加结点后遍历不出来 【新手学java】关于简单的for循环 请教一个功能如何实现? 问一个关于全局变量的问题 同一个应用程序的多个JAVA文件怎么编译? 一个小程序,有点问题!大虾来指点下!! 出问题了,帮我解决掉,多谢1~ Java打印时的字体控制问题... 谁有正版的JDMK?先给100分!!(我一次最多加100分,可以多次加给你的。) JAVA的编译问题 判断字符串中是否含某个字符,提示了java.lang.NullPointerException
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
* @author user
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class EnterNumber extends JFrame
{
JPanel panel;
JTextField enterNum;
public EnterNumber()
{
enterNum=new JTextField(5);
enterNum.addKeyListener(new EnterAction());
panel=new JPanel();
getContentPane().add(panel);
panel.add(enterNum);
addWindowListener(new WindowAction());
pack();
setVisible(true);
setLocation(300,300);
}
class WindowAction extends WindowAdapter
{
public void windowClosing(WindowEvent win_e)
{
System.exit(0);
}
}
class EnterAction extends KeyAdapter
{
public void keyPressed(KeyEvent enter_e)
{
System.out.println(enter_e.getKeyCode());
if(enter_e.getKeyCode()<48||enter_e.getKeyCode()>57)
{
JOptionPane.showMessageDialog(null,"请填写数字");
enterNum.setText("");
return;
}
}
}
public static void main(String args[])
{
new EnterNumber();
}
}
MaskFormatter mask = new MaskFormatter("##########");
JFormattedTextField input = new JFormattedTextField(mask);input文本框中只能输入10位数字了。附带字符定义表:
字符 描述
# 任何有效数字,使用 Character.isDigit。
' 转义字符,用于避开任何具有特殊格式的字符。
U 任何字符 (Character.isLetter)。将所有小写字母映射为大写。
L 任何字符 (Character.isLetter)。将所有大写字母映射为小写。
A 任何字符或数字(Character.isLetter 或 Character.isDigit)
? 任何字符 (Character.isLetter)。
* 所有字符。
aSpinner.setEditor(new JSpinner.NumberEditor(aSpinner, "0000"));
前面的我多看了好像多不怎么合意你看看我的要得不 ?
可以用js来控制!
代码:
<script type="text/javascript">
function isnum(){
if(event.keyCode>=65){
alert("你输入的必须是数字!");
event.returnValue=false;
}
}
</script>
.....
......
<input type="text" name="" onkeypress="isnum()">
也就是没有从本质上解决问题。这是最好的方法是使用JTextField.getDocument().addDocumentListener(DocumentListene)),
在DocumentListener中对JTextField中的内容就行检查并提示错误,是最好的。因为只要JTextField中的内容被改变,无论通过什么途径(键盘,ctrl + v,del等)都会有效。