我正在尝试创建一个数学测验,我只希望用户能够输入数字,无论它们是负数还是正数.有没有办法这样做?我曾经想过使用正则表达式,但我听说它们使用不好.我尝试使用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)