验证JTextField值,使其以“RA”开头,然后有8位数

时间:2013-04-29 03:58:24

标签: java regex swing jtextfield

我有一个JTextField用户必须在其中输入数据。它的值必须始终以RA开头,并且后面必须有8位数字。所以,它的长度总是10。例如,RA12345678

我如何用Java做到这一点?

我尝试使用MaskFormatterJFormattedTextField,但未达到效果。我需要一起验证输入的长度。

1 个答案:

答案 0 :(得分:2)

我为此使用JSpinner,只需在RA前加上该号码。 E.G。

图像

enter image description here

典型输出

RA8007006

代码

import java.awt.*;
import javax.swing.*;

class CaptureRA {

    public static void main(String[] args) {
        Runnable r = new Runnable() {

            @Override
            public void run() {
                String prefix = "RA";
                JPanel gui = new JPanel(new FlowLayout(4));
                gui.add(new JLabel(prefix));
                SpinnerModel ints = new SpinnerNumberModel(
                        1000000,1000000,99999999,1);
                JSpinner spinner = new JSpinner(ints);
                gui.add(spinner);

                JOptionPane.showMessageDialog(null, gui);
                System.out.println(prefix + ints.getValue());
            }
        };
        // Swing GUIs should be created and updated on the EDT
        // http://docs.oracle.com/javase/tutorial/uiswing/concurrency/initial.html
        SwingUtilities.invokeLater(r);
    }
}