java Swing keyListener 键盘边输入边测试 判断 JTextField 文本框

JTextField只能输入数字和小数点并且小数点只能有一位(正常的Float类型)而且用的是keyListener事件边键盘输入边测试判断不符合就不能输入... JTextField 只能输入数字 和小数点 并且小数点只能有一位 (正常的Float 类型)
而且 用的是 keyListener 事件 边键盘输入 边测试判断 不符合 就不能输入
展开
 我来答
百度网友fe6d0b6
2014-07-28 · TA获得超过275个赞
知道小有建树答主
回答量:397
采纳率:75%
帮助的人:270万
展开全部
建议还是不要便输入边判断,要触发判断至少也是要放在失去焦点上。
因为你这个是对整个输入结果进行校验,而不是对每个输入的字符进行校验。

校验很简单,给输入框指定一个失去焦点事件处理类,在方法里进行判断输入的值是否正确,不正确则重置焦点为输入框。
百度网友12ee0fd
2014-07-25 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:1976万
展开全部
使用定制的PlainDocument
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HanJdEx
2014-07-25 · JAVA开发,物联网,框架
HanJdEx
采纳数:139 获赞数:418

向TA提问 私信TA
展开全部
(\-|\+)?\d+(\.\d{1})?
你要的正则就是这个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_诗礼_
2014-07-25 · 超过69用户采纳过TA的回答
知道小有建树答主
回答量:184
采纳率:50%
帮助的人:108万
展开全部
你解决了没。这 我做过。你解决了 我就不写了。麻烦。
更多追问追答
追问
我换了种方法 要不你给我解决一下 用你的这种方法 不甚感激
追答

虽然没分了。。还是花了2分钟帮你搞了下  你可以看看。有人说了用PlainDocument

import java.awt.Dimension;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

public class Test002 extends JFrame {

    private JTextField textField;
    private JPanel pane;

    public Test002() {
        this.textField = new JTextField(20);

        textField.setDocument(new CommonJTextFieldLimit(4, 1));//整数部分只能4个,小数点只能1位。

        this.pane = new JPanel();
        this.setSize(new Dimension(400, 300));
        pane.add(textField);
        this.add(pane);
        setVisible(true);
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        new Test002();
    }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式