8.4.10 | Popup |
Neu in Version
1.4 ist die Möglichkeit, eine Standardimplementierung eines Popups zu bekommen. Diese sollte man sich allerdings über die PopupFactory besorgen, da dort die Popup-Exemplare zwischengespeichert werden. Diese werden durch die Methode hide() an die Factory zurückgegeben. Daher sollte bei jedem Anzeigen ein neues Popup angefordert werden. Im Gegensatz zum JPopupMenu schließt sich das Popup nicht automatisch, wenn man daneben klickt. Der Programmierer muss sich selbst darum kümmern, die hide()-Methode aufzurufen.
Durch Setzen der PopupFactory können Look-and-Feel Entwickler zudem auf das Aussehen Einfluss nehmen.
JFrame frame = new JFrame(); JLabel label = new JLabel("Bitte rechtsklicken"); JScrollPane scrollPane = new JScrollPane( new JLabel(new ImageIcon( getClass().getResource("cow.gif")))); scrollPane.setPreferredSize(new Dimension(100, 100)); label.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { if (e.isPopupTrigger()) PopupFactory.getSharedInstance().getPopup( frame, scrollPane, frame.getLocationOnScreen().x+e.getX(), frame.getLocationOnScreen().y+e.getY()) .show(); } });