Как очистить маску в формате 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() == ""),

Другие вопросы по тегам