[JPopupMenu] position fausse
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 :
Code:
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());
}
} |
Et voici la classe de ce popup:
Code:
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);
}
});
}
} |
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 ?
Merci d'avance de vos réponses.
@++