如何创建一个方法,在用户填写一定数量的字符时自动添加字符。
假设我必须输入长度为12个字符的代码。
每次我传递第四个字符时,都必须添加一个破折号。 (4-5,8-9)总共2个破折号。
我对Java有点新意,所以我不知道从哪里开始。
提前致谢。
答案 0 :(得分:4)
使用可为其定义输入掩码的JFormattedTextField
JFormattedTextField textField = new JFormattedTextField();
textField.setFormatterFactory(new DefaultFormatterFactory(new MaskFormatter("HHHH-HHHH-HHHH")));
修改添加工作示例
public class SimpleInputMask {
private static void createAndShowGUI() {
JFrame frame = new JFrame("MaskFormatteExample");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JLabel label = new JLabel("input: ");
panel.add(label);
// define the text field with an input mask
JFormattedTextField textField = new JFormattedTextField();
textField.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 14));
try {
String inputMask = "HHHH-HHHH-HHHH";
textField.setFormatterFactory(new DefaultFormatterFactory(new MaskFormatter(inputMask)));
} catch (ParseException ex) {
// will be raised if the inputMask cannot be parsed
// add your own exception handling here
}
panel.add(textField);
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGUI();
}
});
}
}