java怎样限制文本框内容为数字?
解决方案 »
- JOptionPane的图符能否在普通jpanel中使用?
- 怎么在myEclipse中实现与数据库的连接?
- 怎么从屏幕上读取一个数
- 用一个Button实现对JTable单元格可编辑与否的控制
- 怎么创建方法内部类的实例对象
- 关于java中打包的讨论
- 各位大狭,小弟有事请教,thank !!!!!!
- 请推荐几本关于j2ee和ejb的书?
- 请问java能做的程序是什么类型的程序,具有什么功能,以可作功能上与哪个语言想似(排除其夸平台性)
- 难为大侠J++ 告诉我Undefined package 'lang' ?? 为
- 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等)都会有效。