getPopup() из PopupFactory не вызывается на Mac

Я продлил javax.swing.PopupFactory класс и переопределение getPopup(), Также я установил как общий экземпляр для PopupFactory. Я поместил журналы в методе getPopup().

В Windows я вижу логи getPopup(). Но на Mac журналы не отображаются. Похоже, на Mac, getPopup() метод не вызывается.

Может кто-нибудь помочь мне, почему метод не вызывается на Mac? Как я могу переопределить getPopup() на Mac?

Вот мой пользовательский PopupFactory и класс, в который я упаковываю поле со списком в рамку.

 public class PopupExample {

    public static void main(String args[]) {
        PopupFactory.setSharedInstance(new PopupFactory() {

            public Popup getPopup(Component owner, Component contents, int x, int y)
                    throws IllegalArgumentException {
                System.out.println("getPopup called...");
                return super.getPopup(owner, contents, x, y);
            }
        });
        JFrame f = new JFrame();
        f.getContentPane().add(new JComboBox(new String[]{"a","b","c"}));
        f.pack();
        f.setVisible(true);
    }
}

В Windows я вижу сообщение "getPopup звонил..." в консоли, когда я нажимаю на поле со списком, чтобы открыть. Но на Mac это не показывало сообщение.

0 ответов

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