Bonjour
Voici mon problème. Je veux pouvoir faire défiler un JPopupMenu sur un élément d'un graphe. Ainsi, voici comment je l'appelle :
Et voici la classe de ce popup:
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 public void mousePressed(PInputEvent aEvent) { if(aEvent.isLeftMouseButton()){ ppath.setPaint(Color.orange); aEvent.setHandled(true); } else if(aEvent.isRightMouseButton()){ System.out.println("X = "+aEvent.getPosition().getX()+"\tY = "+aEvent.getPosition().getY()); JPopupMenu pop = new PopupNode(aEvent.getPosition().getX(), aEvent.getPosition().getY()); pop.show(Namek.Canvas, (int)aEvent.getPosition().getX(), (int)aEvent.getPosition().getY()); } }
Seulement, j'observe que le JPopupMenu ne se place pas comme je le voudrais et cela devient pire quand je redimensionne ma fenêtre. Donc, comment améliorer son positionnement ?
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
29
30
31 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JPopupMenu; import javax.swing.JMenuItem; public class PopupNode extends JPopupMenu { private JMenuItem jMenuItem; private JMenuItem jMenuItem1; public PopupNode(double x, double y){ jMenuItem = new JMenuItem("Nouvelle protéine"); this.add(jMenuItem); jMenuItem1 = new JMenuItem("Couleur du noeud"); this.add(jMenuItem1); jMenuItem1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { JFrame ext = new ColorChooser(2); ext.setVisible(true); } }); } }
Merci d'avance de vos réponses.
@++
Partager