В настоящее время я работаю над приложением, и у меня есть определенные требования к моему интерфейсу: ввод времени.
Мне нужно, чтобы мои элементы управления принимали ввод от 12 до 24 часов с использованием JFormattedTextField, и я нашел это:
MaskFormatter mask = new MaskFormatter("##:##");
mask.setPlaceHolderCharacter('0');
Теперь я создал класс, который распространяется на JFormattedTextField.
public class JayTimeInput extends JFormattedTextField{....
теперь я заглянул в источник JFormattedTextField и нашел что-то вроде этого:
public JFormattedTextField(Object mask){...
мой вопрос: как мне создать класс JayTimeInput, который автоматически имеет средство форматирования маски? Я попытался объявить это в своем конструкторе, но я не уверен в этом:
public JayTimeInput(){
try{
MaskFormatter mask = new MaskFormatter("##:##");
mask.setPlaceHolderCharacter('0');
new JFormattedTextField(mask);
}catch(Exception e){e.printStackTrace()}
}
Я видел примеры того, как использовать MaskFormatter, и единственный способ, который я нашел, это объявить его следующим образом:
MaskFormatter mask = new MaskFormatter("##:##");
mask.setPlaceHolderCharacter('0');
JFormattedTextField jformat = new JFormattedTextField(mask);
Я не уверен, что мой actionlistener был сделан правильно, но мне нужно, чтобы это сработало в первую очередь.
кто-нибудь помочь мне? я все еще новичок в создании собственных элементов управления путем расширения существующих свингов.
ОБНОВЛЕНИЕ:
Я искал неправильный способ настройки моего JFormattedTextField. Я должен был использовать FormatFactory. Код ответа был опубликован для всех, кто в нем нуждается.
super(mask);
docs.oracle.com/javase/tutorial/java/IandI /super.html - person Compass   schedule 27.06.2016