实现JTextField只能输入数字,并且控制小数的位数与数字的总长度
import java.awt.Container; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.math.BigDecimal; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.PlainDocument; /** * 只能输入数字 * @author 心星 */ public class Txtonlynumber { public Txtonlynumber() { JFrame f = new JFrame("Txtonlynumber"); Container contentPane = f.getContentPane(); JTextField salary = new JTextField(50); salary.setDocument(new NumOnlyDocument()); contentPane.add(salary); f.pack(); f.setVisible(true); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } public static void main(String[] args) { new Txtonlynumber(); } class NumOnlyDocument extends PlainDocument { private static final long serialVersionUID = 1001689415662878505L; int maxLen; //最长字符长度 int decimalLen; //小数位数 public NumOnlyDocument() { this(2,13); } public NumOnlyDocument(int newDecimalLen, int newMaxLen) { super(); decimalLen = newDecimalLen; maxLen = newMaxLen; } public void insertString(int offset, String inStr, AttributeSet attrSet) throws BadLocationException { // 获得输入框有效值 String numStr = getText(0, offset) + inStr + getText(offset, getLength() - offset); System.out.println("inStr===" + inStr + ",offset==" + offset + ",getLength()=" + getLength() + ",value=" + numStr); // 校验字符长度限制 if (getLength() + inStr.length() > maxLen) { return; } // 校验是否是有效数字 try { new BigDecimal(numStr); } catch (NumberFormatException e1) { return; } // 校验小数位数限制 int indexNum = numStr.indexOf("."); if (indexNum > 0) { int len = numStr.substring(indexNum + 1).length(); if (len > decimalLen) { return; } } super.insertString(offset, inStr, attrSet); } } }
相关推荐
对JTextField限制只能输入数字,且在0至999范围内
NULL 博文链接:https://zhangqkunkun.iteye.com/blog/815897
扩展JTextField功能,使之能在输入一段字符后弹出下拉列表,在集合中匹配相似的信息,辅助完成整个输入,效果类似在订机票时输入目的地时辅助输入的形式.可在JTable中使用
原创:java封装了的JTextField,可以达到google输入框的效果:在输入框中输入一些字符即可联想。
实现圆角矩形边框,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++...
JTextField添加“自动完成”,代码简单强大
JTextField_Example.java
java JTextField组件的使用 java JTextField组件的使用 java JTextField组件的使用
NULL 博文链接:https://alog2012.iteye.com/blog/1628396
Text_JTextField.class
JTextField是Java Swing库中的一个组件类,用于接收用户的文本输入。
在完成Swing的学习后,练习使用Swing包中JFrame、JButton、JLabel、JTextField、JMenu、JMenuItem等组件完成图形界面绘制。 前期能够独立思考并完成计算器的逻辑代码。 熟练使用JButton、JTextField、JLabel等...
使JTextField与条形码扫描仪兼容的代码。 它可以用作常规的JTextField,但是当它检测到输入来自条形码扫描仪时,它将转换输入并触发事件。 Convertint输入表示将字符&é“((§è!çà)分别转换为1234567890。...
我想给您的文本增加一点...您可以禁用JTextField:JTextField oText = new JTextField(); oText.setEnable(false);它将不接受任何此类输入。如何使用TextFields [^] EDIT:有点棘手-函数setEnable(boolean)是...
利用SWING编程实现商品的管理,要求如下: ...2、在“商品名称”对应的JTextField中输入商品名称,单击“查询”:如果存在该商品,则显示如图2所示的窗体;若输入的名称不存在,则弹出“没找到该商品!”的对话框。
主要介绍了Java Swing中的文本框(JTextField)与文本区(JTextArea)使用实例,Swing是一个用于开发Java应用程序用户界面的开发工具包,需要的朋友可以参考下
//建立监听 FrameListener fl = new FrameListener(jb,tf,pw); //tf.addActionListener(fl); tf.addKeyListener(fl); //窗口可见 this.setVisible(true); //关闭窗口时退出程序 this....
JTextField jurl=new JTextField(60); JEditorPane jEditorPanel=new JEditorPane(); JScrollPane scrollPane=new JScrollPane(jEditorPanel); // JWindow window=new JWindow(WebBrowser.this); // Toolkit ...