『壹』 java swing 怎么设置文本框只能输入数字
java swing中利用JFormattedTextField的控件加keyReleased能实现,以下实现的只能输入数字的文本框代码:
importjava.text.ParseException;
importjavax.swing.JFormattedTextField;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
/**
*
*@authorAdministrator
*/
{
;
publicJFormattedText(){
JPanelpanel=newJPanel();
text=newJFormattedTextField(newjava.text.DecimalFormat("#0"));
//text=newJFormattedTextField();
//text.setFormatterFactory(newjavax.swing.text.DefaultFormatterFactory(newjavax.swing.text.NumberFormatter(newjava.text.DecimalFormat("#0"))));
text.setFont(newjava.awt.Font("宋体",0,12));//NOI18N
text.setMaximumSize(newjava.awt.Dimension(50,21));
text.setMinimumSize(newjava.awt.Dimension(50,21));
text.setPreferredSize(newjava.awt.Dimension(50,21));
//过滤输入的字符
text.addKeyListener(newjava.awt.event.KeyAdapter(){
publicvoidkeyReleased(java.awt.event.KeyEventevt){
Stringold=text.getText();
JFormattedTextField.AbstractFormatterformatter=text.getFormatter();
if(!old.equals("")){
if(formatter!=null){
Stringstr=text.getText();
try{
longpage=(Long)formatter.stringToValue(str);
text.setText(page+"");
}catch(ParseExceptionpe){
text.setText("1");//解析异常直接将文本框中值设置为1
}
}
}
}
});
panel.add(text);
this.add(panel);
this.setBounds(200,100,100,100);
}
publicstaticvoidmain(String[]arg){
newJFormattedText().setVisible(true);
}
}
『贰』 求java中只允许输入正整数的正则表达式
regex = [1-9]{1}[0-9]{m,n}
这个就可以满足正整数,第一位必须是1-9之间的数字,后面就可以不管有没有0了,其中m表示最少多少位,n表示最大多少位。。
『叁』 java怎么在文本框中限制只能输入数字
<html>
<head>
<meta http-equiv="content-Type" content="text/html;charset=gb2312">
<title>js 只能输入数字和小数点</title>
<script language="JavaScript" type="text/javascript">
function clearNoNum(obj)
{
//先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/[^\d.]/g,"");
//必须保证第一个为数字而不是.
obj.value = obj.value.replace(/^\./g,"");
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{2,}/g,".");
//保证.只出现一次,而不能出现两次以上
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
}
</script>
</head>
<body>
<!--把下面代码加到<body>与</body>之间-->
只能输入数字和小数点的文本框:<input id="input1" onkeyup="clearNoNum(this)">
</body>
</html>