Как очистить маску в формате Jformattedtextfield - PullRequest
0 голосов
/ 12 декабря 2018

Добрый день всем, в моей программе есть 1 Jformattedtextfield (маска в формате) и 1 jcombobox;

Сначала программа работает хорошо, но;

Если я выбираю пункт "";Поле Jformattedtext не возвращает первое форматированное значение, даже если используется x.setvalue () или x.setvalue ("/ /:");и программа зависает

Я думаю, что мне нужно вспомнить формат, некоторые коды из моего проекта, как показано ниже, спасибо за продвижение"));

    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 ]

0 голосов
/ 13 декабря 2018

Если вы проверяете, имеют ли две строки одинаковую последовательность символов, вы должны использовать функцию equals() класса String вместо ==.

Я бы написал:

if (c1.getSelectedItem().toString().equals(""))

вместо

if (c1.getSelectedItem().toString() == "").

0 голосов
/ 12 декабря 2018

используйте метод setText:

f1_1.setText("");
f1_1.setText(null);
...