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 это не показывало сообщение.