사용자가 일정량의 문자를 입력하면 자동으로 문자를 추가하는 방법을 만들 수 있습니다.
12 자 길이의 코드를 입력해야한다고 가정 해 보겠습니다.
네 번째 문자를 전달할 때마다 대시를 추가해야합니다. (4-5,8-9) 총 2 개의 대시.
저는 Java에 익숙하지 않아 어디서부터 시작해야할지 모르겠습니다.
미리 감사드립니다.
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();
}
});
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다