Avatar billede kokoko Nybegynder
27. november 2001 - 21:30 Der er 4 kommentarer og
1 løsning

Hvordan venter jeg til repaint() er færdig?

Hvis jeg ønsker at repaint() skal være færdig inde jeg går videre når jeg vil opdatere min frame hvad gør jeg så?!
Avatar billede crystal-t Nybegynder
27. november 2001 - 21:45 #1
Æhm hvad er det du ønsker at repainte?
Avatar billede crystal-t Nybegynder
27. november 2001 - 21:45 #2
Prøv og uddybe dit svar !
Avatar billede kokoko Nybegynder
27. november 2001 - 21:51 #3
Jeg sender repaint() til et JComponent... og mærkeligt nok så når den ikke at få ændret alle de ting som paintComponent() burde inden linjerne efter repaint() bliver kørt
Avatar billede logical Nybegynder
30. november 2001 - 08:43 #4
Din repaint bliver skeduleret bagest i eventkøen, og bliver behandlet når eventkøen når dertil. Hvis du virkelig skal sikre dig nogle ting er sket, skal du have en ekstra tråd med i billedet.

Nu ved jeg ikke om repaintet sker som følge af et event, men lad mig vise et eksempel på, hvordan det kan gøres ifm et ActionEvent fra en eller anden komponent:

public void actionPerformed(ActionEvent e) {

  // Schedule a separate task which does not block the event queue processing
  new Thread(new Runnable() {
    public void run() {
        doSomethingOrOther();

        // Schedule an update and a paint request and wait.
        SwingUtilities.invokeAndWait(new Runnable() {
              public void run() {
                  label.setText(\"Set properties in GUI thread, always a good idea\");
                  label.invalidate();
                  RepaintManager.getCurrentManager(label).repaintDirtyRegions();
              }
        });

    // That was it.
    }
  }).start(); // Spin off the thread.
}
Avatar billede kc Nybegynder
06. december 2001 - 20:49 #5
Hvis du skal repainte en JComponent kan du også vælge at bruge paintImmediately(int x,int y,int w,int h). Den repainter det angive areal (på JComponent\'en) med det samme og ikke, som ved almindelig repaint, når der bliver tid til det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester