java 中jtextfield访问限制_java.swing JtextField 中怎么限制只能输入数字
2016-04-05 回答
看代碼:
import?java.awt.borderlayout;
import?javax.swing.jframe;
import?javax.swing.jlabel;
import?javax.swing.joptionpane;
import?javax.swing.jpanel;
import?javax.swing.jtextfield;
import?javax.swing.swingutilities;
import?javax.swing.event.caretevent;
import?javax.swing.event.caretlistener;
public?class?main?{
public?static?void?main(string[]?args)?throws?exception?{
jframe?frame?=?new?jframe("jtextfield?只能輸入中文,字母,數字");
jlabel?label?=?new?jlabel("輸入:");
jtextfield?textfield?=?new?jtextfield(20);
//?當?jtextfield?中內容發生改變時觸發
textfield.addcaretlistener(new?textfieldinputlistener());
jpanel?panel?=?new?jpanel();
panel.add(label);
panel.add(textfield);
frame.add(panel,?borderlayout.center);
frame.pack();
frame.setlocationrelativeto(null);
frame.setdefaultcloseoperation(jframe.exit_on_close);
frame.setvisible(true);
}
}
class?textfieldinputlistener?implements?caretlistener?{
@override
public?void?caretupdate(caretevent?e)?{
jtextfield?textfield?=?(jtextfield)?e.getsource();?//?獲得觸發事件的?jtextfield
string?text?=?textfield.gettext();
if?(text.length()?==?0)?{
return;
}
char?ch?=?text.charat(text.length()?-?1);
if?(!(ch?>=?'0'?&&?ch?<=?'9'?//?數字
||?ch?>=?'a'?&&?ch?<=?'z'?//?字母
||?ch?>=?'\u4e00'?&&?ch?<=?'\u9fa5'))?{?//?中文,最常用的范圍是?u+4e00~u+9fa5,也有使用?u+4e00~?u+9fff?的,但目前?u+9fa6~u+9fff?之間的字符還屬于空碼,暫時還未定義,但不能保證以后不會被定義
joptionpane.showmessagedialog(textfield,?"只能輸入中文,字母,數字",?"提示",?joptionpane.information_message);
swingutilities.invokelater(new?runnable()?{
@override
public?void?run()?{
//?去掉?jtextfield?中的末尾字符
textfield.settext(text.substring(0,?text.length()?-?1));
}
});
}
}
}
總結
以上是生活随笔為你收集整理的java 中jtextfield访问限制_java.swing JtextField 中怎么限制只能输入数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哪里有60平米左右的迷你小别墅卖,不要小
- 下一篇: 9号车f系列,仪表盘上显示-26km是啥