Repaint in Java2D/Graphics



  • Hi Leudz,

    ich wollt mal fragen wie ich (per Knopfdruck, Button-Actionlistener) eine repaint-methode oder dergleichen aufrufe. Ich hab schon danach gegoogled, hab auch eine methode gefunden ABER diese lässt lediglich den Screen flackern und auf knopfdruck passiert nichts.

    THX in advance - Chaoz



  • Das es flackert, liegt daran, dass du kein double buffering verwendest.



  • milkandalcohol schrieb:

    Das es flackert, liegt daran, dass du kein double buffering verwendest.

    ja ok, das weiss ich (nun) auch ^^
    danke..
    allerdings...

    ich will ja NUR EINMAL aktualisieren...
    d.h.
    Grafik zeichnen => Button Klicken => Grafik neuzeichnen

    (es handelt sich dabei um einen Routenplaner, wobei er auf Knopfdruck den richtigen Weg einfärben soll.)



  • ruf halt das selbe auf wie sonst in dem thread



  • private JFrame getframe() {
          if(frm_main == null) {
             frm_main = new JFrame() {
    
                public void paint(Graphics g) {
                   super.paint(g);
                   Graphics2D g2 = (Graphics2D) g; 
                   setGraphics(g2);
                   g2.draw ... //OBJEKTE ZEICHNEN
                }
             };
             frm_main.setTitle("Titel");
                                     //restliche Attribute des frm_main setzen
    
          return frm_main;
       }
       btn_start.addActionListener(new java.awt.event.ActionListener() {
             public void actionPerformed(java.awt.event.ActionEvent e) {
                if(btn_start.getText().equals("Start")) {
                   Graphics g = getGraphics();
                                  //REDRAW?
          }
    

    jetzt ist nur die Frage wie ich (im Actionlistener des Buttons auf Knopfdruck) die redraw aufrufe.=(

    thx in advance!


Anmelden zum Antworten