Bonjour,
Pour afficher plusieurs composants, j'utilise un popup qui s'affiche lorsque l'on actionne un JButton et se masque lorsque l'on re-actionne le JButton.
Ce 'système' peut-être présent n fois dans un JScrollPane.
Mon problème est que PopUpFactory met en 'cache' le popup.
Or pour chaque ligne le contenu du popup doit-être indépendant.. Mais le popup ne gére pas cela correctement :
Le premier popup contenait la même chose que le second mais une fois que j'ai affiché le second et réaffiche le premier, le résultat n'est pas celui attendu..
Voici le code d'affichage du popup.
Quelqu'un à une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 ... addActionListener(new ActionListener(){ public void actionPerformed(java.awt.event.ActionEvent e) { if ( popup == null ) { popup = getPopup(); popup.show(); System.out.println("how popup " + popup ); } else { System.out.println("hide popup " + popup); popup.hide(); popup= null; } } }); .... private Popup getPopup(){ int x,y; x = (int)btn.getLocationOnScreen().getX()+5; y = (int)btn.getLocationOnScreen().getY()+btn.getHeight(); PopupFactory factory = PopupFactory.getSharedInstance(); popup = factory.getPopup(btn,pnl,x,y); return popup; }
Partager