validationJTextField值,使其以“RA”开头,然后有8位数
我有一个JTextField
,用户必须在其中输入数据。 它的值必须始终以RA
开头,并且后面必须有8位数字。 所以,它的长度总是10。 例如, RA12345678
。
我如何用Java做到这一点?
我尝试使用MaskFormatter
和JFormattedTextField
但是没有达到结果。 我需要一起validation输入的长度。
我为此使用了JSpinner
,只是将RA
加上前缀。 例如
图片
典型输出
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); } }