как потерять фокус JtextFeild onClick - PullRequest
0 голосов
/ 18 января 2011

как потерять фокус JFormatedTextfeild при нажатии на окно календаря

private void dateTxtFocusGained(java.awt.event.FocusEvent evt) {
    // TODO add your handling code here:
    PickDate ex=new PickDate();       
    // dateTxt.setText(Helper.pickDate.toString());
}

...

private class MyDateListener implements DateListener
{
    public void dateChanged(DateEvent e)
    {
        Calendar c = e.getSelectedDate();
        if (c != null) {        
            formatTxt.setText(c.getTime()); 
            PickDate.this.dispose(); // pickdate is nothing but JFrame in which calender shows 
        }
        else {
            System.out.println("No time selected.");
        }
    }
}

1 Ответ

2 голосов
/ 18 января 2011

Один хак, который я использовал в прошлом, это переключение фокусируемости компонента. В вашем событии onClick:

//we just want to lose current caret focus
//but still have textfield be focusable
dateTxt.setFocusable(false);
dateTxt.setFocusable(true);
...