下面是示例代码: |
publicclass PlainDocumentFilter extends PlainDocument{ public final staticchar[] ALPHA_CHARS = { 'A', 'B', 'C', 'D', 'E','F', 'G', 'H', 'I', 'J','K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R','S', 'T', 'U', 'V', 'W','X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e','f', 'g', 'h', 'i', 'j','k', 'l', 'm', 'n', 'o', 'p', 'q', 'r','s', 't', 'u', 'v', 'w','x', 'y', 'z' }; public final staticchar[] NUMERIC_CHARS = { '0', '1', '2', '3', '4','5', '6', '7', '8','9' }; public final staticchar[] ALPHA_NUMERIC_CHARS = ArrayUtils.addAll(ALPHA_CHARS,NUMERIC_CHARS); private char[] acceptedChars; public PlainDocumentFilter() { this(ALPHA_NUMERIC_CHARS); } public PlainDocumentFilter(char[] acceptedChars) { this.acceptedChars = acceptedChars; } @Override public void insertString(int offs, String str, AttributeSet a) throws BadLocationException { //遍历String中所有字节,判断是否有包含不允许的字符出现 for (int i = 0, len = str.length(); i < len; i++) { if(!ArrayUtils.contains(acceptedChars, str.charAt(i))){ return; } } super.insertString(offs, str, a); } public static void main(String[] args) { JTextField textField = new JTextField(); textField.setDocument(new PlainDocumentFilter()); JFrame frame = new JFrame(); frame.add(textField); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } } |
- 浏览: 33316 次
最新评论
-
jianghongh:
在存在输入法的情况下,offs值存在问题,这个要怎么解决?
Swing —— 扩展PlainDocument限制JTextField只能输入字母与数字
相关推荐
对JTextField限制只能输入数字,且在0至999范围内
//建立监听 FrameListener fl = new FrameListener(jb,tf,pw); //tf.addActionListener(fl); tf.addKeyListener(fl); //窗口可见 this.setVisible(true); //关闭窗口时退出程序 this....
主要介绍了Java Swing中的文本框(JTextField)与文本区(JTextArea)使用实例,Swing是一个用于开发Java应用程序用户界面的开发工具包,需要的朋友可以参考下
JTextField是Java Swing库中的一个组件类,用于接收用户的文本输入。
实现信息检索功能 像百度的网页搜索框 搜索相关资源并可以选择并显示搜索结果 使用JTable作为搜索结果显示框 在网上找不到相关的资源 自已写了一个 这只是提供一个思路 如果有更好的想法 可以联系我 ...
扩展JTextField功能,使之能在输入一段字符后弹出下拉列表,在集合中匹配相似的信息,辅助完成整个输入,效果类似在订机票时输入目的地时辅助输入的形式.可在JTable中使用
对JAVA中Swing组件有一个很好的讲解,并通过实际的例子给读者一个清晰的认识和掌握!
利用SWING编程实现商品的管理,要求如下: ...2、在“商品名称”对应的JTextField中输入商品名称,单击“查询”:如果存在该商品,则显示如图2所示的窗体;若输入的名称不存在,则弹出“没找到该商品!”的对话框。
NULL 博文链接:https://zhangqkunkun.iteye.com/blog/815897
基于Swing的IP地址输入控件,继承自JTextField,基于Document机制,支持右键菜单复制粘贴,支持局部/全部选中粘贴,支持只能输入,比Windows的IP输入更好用。
原创:java封装了的JTextField,可以达到google输入框的效果:在输入框中输入一些字符即可联想。
Swing组件(javax.swing.-) 面板:JPanel 标签化窗格:JTabbedPane 拆分窗格:JSplitPane 滚动窗格:JScrollPane 工具栏:JToolBar 桌面窗格:JDesktopPane 内部框架:JInternalFrame 分层窗格:JLayeredPane ...
NULL 博文链接:https://zgdeng.iteye.com/blog/1405459
实现圆角矩形边框,hint文字,主要代码: ... JTextField textField = (JTextField) c; if ("".equals(textField.getText())) { g2d.setColor(Color.BLACK); g2d.drawString("请输入文字...", 10, 18); }
i = jTextField1.getText().length(); Highlighter hilite = jTextArea1.getHighlighter();//获取负责进行高亮显示的对象 //Highlighter:一个允许用户用带有颜色的区域标出背景的对象接口 for (f = 0; f (); f++...
了解抽象窗口工具包 (AWT)和Swing的概念及区别 掌握Swing容器组件 JFrame 、JPanel、JScrollPane 掌握Swing GUI 组件 JLabel、JTextField、JTextArea、JButton JCheckBox、JRadioButton、JComboBox 运用以上组件进行...
java JTextField组件的使用 java JTextField组件的使用 java JTextField组件的使用
JTextField添加“自动完成”,代码简单强大
JTextField_Example.java