Avatar billede mikkelbm Nybegynder
31. maj 2003 - 00:51 Der er 6 kommentarer og
1 løsning

Rekursion og GUI

Jeg er stødt ind i et problem mht at bruge rekursion i GUI.
Problemet ligger i at hver gang metoden kalder sig selv skal skærmbilledet opdateres. Dette sker ikke, selvom jeg har lavet metoder dertil, brugt en sleep-funktion og repaint. Der sker intet, før sidste kald er foretaget...
Avatar billede dsj Nybegynder
31. maj 2003 - 00:58 #1
Hvis du laver det på den måde, hvilket måske ikke virker som den rigtige, så skal du anvende tråde (en tråd) til at køre opdateringen.

Det ville nok være en god ide at anvende klassen javax.swing.Timer, som netop er en tråd der med et bestemt tidsinterval kan køre en given opgave.
Avatar billede mikkelbm Nybegynder
31. maj 2003 - 01:04 #2
Kan du evt. gi' et eksempel på brugen af Timer-klassen?
Avatar billede arne_v Ekspert
31. maj 2003 - 01:10 #3
Der er et eksempel på tråde og timer i:
  http://www.eksperten.dk/spm/345929
Avatar billede mikkelbm Nybegynder
31. maj 2003 - 01:21 #4
Det er lidt abstract for mig, hvad der skal gøres...
Dette er den rekursive metode..

public void towers(int n, int i, int j)
{
    t.start(); // Ved ikke om det er rigtig at sætte den her???
    int k;
       
    pushStackFrame();

    if (n == 1)
    {
        popStackFrame();
    }
    else
    {
        k = 6 - i - j;
        towers(n - 1, i, k);
        towers(1, i, j);
        towers(n - 1, k, j);
    }
}

Det virker heller ikke....
Der stod noget om at man skulle tilføje en listener. hvad skal der evt stå i den??
Avatar billede _carsten Nybegynder
31. maj 2003 - 10:54 #5
Tror dsj har ret, men prøv eventuelt indsætte et af nedenstående i towers() og se om det kan løse problemet!

public void towers(int n, int i, int j)
{
    GUI.paint(getGraphics());  // Første alternativ, eller
    super.paint(getGraphics()); // Sidste alternativ
    int k;
Avatar billede magoo20000 Nybegynder
31. maj 2003 - 11:42 #6
Du kan jo se et eksempel på Tårnene i Hanoi her:

http://java.about.com/library/javanotes4/source/bl-TowersOfHanoi.htm

Det er med en applet og tråde.
Avatar billede mikkelbm Nybegynder
02. juni 2003 - 13:49 #7
Har selv løst problemet... Jeg har bibeholdt min metode med Thread, men problemet var at min run-metode ikke var rigtig..
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