『壹』 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>