相关疑难解决方法(0)

只允许将数字和符号( - )输入JTextField

我正在尝试创建一个数学测验,我只希望用户能够输入数字,无论它们是负数还是正数.有没有办法这样做?我曾经想过使用正则表达式,但我听说它们使用不好.我尝试使用keylistener,但如果用户粘贴了怎么办?我已经尝试解析字符串以获取整数,但负符号将无法工作.

有任何想法吗?

package com.quiz.ui;

import java.awt.BorderLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class SSCCE {

    private JFrame frame;

    private JPanel contentPane;

    private JTextField usernameField;

    public static void main(String[] arguments) {
        new SSCCE().construct();
    }

    public void construct() {
        frame = new JFrame("Login");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(getContentPane());
        frame.pack();
        frame.setVisible(true);
    }

    public JPanel getContentPane() {
        usernameField = new JTextField(5);
        usernameField.addKeyListener(new KeyListener() {

            @Override
            public void keyPressed(KeyEvent arg0) {
                int keyCode = arg0.getKeyCode();
                if ((keyCode > 47 && keyCode < 58) …
Run Code Online (Sandbox Code Playgroud)

java swing jframe jtextfield documentfilter

2
推荐指数
1
解决办法
6943
查看次数

标签 统计

documentfilter ×1

java ×1

jframe ×1

jtextfield ×1

swing ×1