hi all,
ich hab hier folgenden code:
public void mouseClicked(MouseEvent e)
{
if(e.getButton() == MouseEvent.BUTTON3 )
{
pl.deMarkiere(); //De-Markiert alle objekte im Umfeld
pl.markierePunkte(Mx-2,My-2,e.getX()+2,e.getY()+2); //markiert das objekt unter dem Mauszeiger
repaint(); // sollte paint ausführen damit markierung sichtbar ist
popup.show(e.getComponent(),e.getX(),e.getY()); // öffnet das kontextmenü
}
repaint();
}
er soll auf einem frame bei rechtsklick das darunterliegende objekt markieren und ANSCHLIEßEND ein kontextmeü dazu öffen. mein problem ist, das das objetk richtig markiert wird, allerdings scheint repaint nicht ausgefürt zu werden, BEVOR sich das popup öffnet, sonder erst DANACH. Die markierung ist korrekt gesetzt, denn wenn ich das kontextmeü mit ESC schließe (oder die Zeile "popup.show..." aus dem code nehme) wird die Markierung sichtbar.
gibt's dafür ne Erklärung, dass repaint nicht vor, sondern hinter dem kont-menü ausgeführt wird? kann man das irgendwie umgehen?
ich hab hier folgenden code:
public void mouseClicked(MouseEvent e)
{
if(e.getButton() == MouseEvent.BUTTON3 )
{
pl.deMarkiere(); //De-Markiert alle objekte im Umfeld
pl.markierePunkte(Mx-2,My-2,e.getX()+2,e.getY()+2); //markiert das objekt unter dem Mauszeiger
repaint(); // sollte paint ausführen damit markierung sichtbar ist
popup.show(e.getComponent(),e.getX(),e.getY()); // öffnet das kontextmenü
}
repaint();
}
er soll auf einem frame bei rechtsklick das darunterliegende objekt markieren und ANSCHLIEßEND ein kontextmeü dazu öffen. mein problem ist, das das objetk richtig markiert wird, allerdings scheint repaint nicht ausgefürt zu werden, BEVOR sich das popup öffnet, sonder erst DANACH. Die markierung ist korrekt gesetzt, denn wenn ich das kontextmeü mit ESC schließe (oder die Zeile "popup.show..." aus dem code nehme) wird die Markierung sichtbar.
gibt's dafür ne Erklärung, dass repaint nicht vor, sondern hinter dem kont-menü ausgeführt wird? kann man das irgendwie umgehen?