Как очистить маску в формате Jformattedtextfield
Добрый день всем, в моей программе есть 1 Jformattedtextfield (маска в формате) и 1 jcombobox;
Программа работает хорошо сначала, но;
Если я выберу пункт ""; Поле Jformattedtext не возвращает первое форматированное значение, даже если используется x.setvalue() или x.setvalue(" / /: "); и программа зависает
я думаю, мне нужно вспомнить формат, некоторые коды из моего проекта, как показано ниже, спасибо за продвижение ``JFormattedTextField f1 = new JFormattedTextField(new SimpleDateFormat("dd-MM-гггг ЧЧ: мм"));
f1_1 = new JFormattedTextField();
f1_1.setFont(new Font("Calibri", Font.PLAIN, 12));
f1_1.setBounds(88, 97, 104, 30);
panel.add(f1_1);
try {
MaskFormatter dateMask = new MaskFormatter(" ##/##/#### ##:##");
dateMask.install(f1_1);
}
catch (ParseException ex) {
Logger.getLogger(MaskFormatter.class.getName()).log(Level.SEVERE, null, ex);
}`
Для возврата в первое рабочее состояние, как это должно быть?
if (c1.getSelectedItem().toString() == "")
{
f1_1.setValue(" / / : ");
}
2 ответа
Используйте метод setText:
f1_1.setText("");
f1_1.setText(null);
Если вы проверяете, имеют ли две строки одинаковую последовательность символов, вы должны использовать equals()
функция класса String
вместо ==
,
Я бы написал:
if (c1.getSelectedItem().toString().equals(""))
вместо
if (c1.getSelectedItem().toString() == "")
,