我有一个JTextField
用户必须在其中输入数据。它的值必须始终以RA
开头,并且后面必须有8位数字。所以,它的长度总是10。例如,RA12345678
。
我如何用Java做到这一点?
我尝试使用MaskFormatter
和JFormattedTextField
,但未达到效果。我需要一起验证输入的长度。
答案 0 :(得分:2)
我为此使用JSpinner
,只需在RA
前加上该号码。 E.G。
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);
}
}