Как закрыть всплывающее окно DatePicker, когда я щелкаю где-то еще в JDatePicker в java swing?

1

Я загружаю и использую JDatePicker (http://sourceforge.net/projects/jdatepicker/). Я помещаю его в JTextField и когда я нажимаю в другом месте всплывающее окно, всплывающее окно не закрывается (как и все другие всплывающие окна). Я пытаюсь выяснить, как я могу закрыть всплывающее окно, но я ничего не нашел? Может кто-нибудь мне помочь?

Теги:
datepicker
swing

2 ответа

1
Лучший ответ

Edit Dec. 2014: Эта проблема была исправлена разработчиками JDatePicker. См. Ответ juanheyns ниже.

JDatePicker исходный код JDatePicker я думаю, что это невозможно без изменения исходного кода JDatePicker.

Реализация этого поведения требует незначительных изменений в исходном коде класса net.sourceforge.jdatepicker.impl.JDatePickerImpl (строка 209):

    /**
     * Called internally to popup the dates.
     */
    private void showPopup() {
        // This is the replaced code:
//      if (popup == null){
//          PopupFactory fac = new PopupFactory();
//          Point xy = getLocationOnScreen();
//          datePanel.setVisible(true); 
//          popup = fac.getPopup(this, datePanel, (int) xy.getX(), (int) (xy.getY()+this.getHeight()));
//          popup.show();
//      }
        // This is new code
        JPopupMenu pop = new JPopupMenu();
        pop.add(datePanel);
        pop.show(this, this.getX(), this.getY() + this.getHeight());
    }

Посмотрите также, как вы скрываете всплывающее окно Swing, когда вы нажимаете на другое место для получения более подробной информации.

3

Это было зарегистрировано как проблема на странице проекта github: https://github.com/JDatePicker/JDatePicker/issues/29

Он был исправлен и будет частью следующего выпуска (1.4.0): https://github.com/JDatePicker/JDatePicker/commit/4fa441a8e06691e4a00573379ea4d218710d7d1a

  • 0
    Когда выйдет новая версия, если она вообще появится?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню