欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java 中jtextfield访问限制_java.swing JtextField 中怎么限制只能输入数字

发布时间:2024/9/19 编程问答 45 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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 中怎么限制只能输入数字的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。