Avatar billede mercutio Nybegynder
16. juni 2001 - 20:41 Der er 5 kommentarer og
1 løsning

Hjælp til en applet

Hejsa eksperter.
Jeg er igang med at lave en chat applet og det går fint. Dvs. chatten virker og server siden kører fint nok. Men jeg vil gerne lave sådan at når man åbner appletten skal den først vise 2 tekst felter hvor man i øverste skriver sit navn og i nederste sit password. Når så man er godkendt af systemet skal de to tekst bokse så forsvinde og så skal min chat komme frem. Det eneste jeg skal have hjælp til er hvordan man får tekstfeltene til at forsvinde og hvordan jeg så gentegner med de nye værdier.
Jeg kunne godt have sat min kode ind men det er der vidst ingen grund til.
Avatar billede logical Nybegynder
17. juni 2001 - 15:26 #1
Det du kan gøre (for der er jo mange forskellige løsninger) er, at:

Lige så vel som du adder en komponent i f.eks. din init() metode af appletten, kan du pille den ud igen. lidt ala følgende:

public class LogonApplet extends Applet {
  private TextField name = new TextField(20);
  private TextField pass = new TextField(20);

  public void init() {
    setLayout(new BorderLayout());
    add(name, BorderLayout.NORTH);
    add(pass, BorderLayout.SOUTH);
  }

  // When you want to get rid off the intro.
  public void onwardsToNextScenario() {
    remove(name);
    remove(pass);
    Panel p = someGeneratedPanelToUse();
    add(p, BorderLayout.CENTER);
    invalidate();
  }
}


Det var ihvertfald 1 eksempel
  }
}
Avatar billede mercutio Nybegynder
19. juni 2001 - 15:31 #2
Jeg ved godt hvordan man skriver koden i teorien men har du prøvet om det virker? Det gør det nemlig ikke =). Så jeg skal have fadt på en med et eksempel som er testet og som bare spiller.
Avatar billede mercutio Nybegynder
19. juni 2001 - 15:49 #3
Jeg har lige smidt lidt flere points i puljen da jeg mener det er det værd =).
Avatar billede mercutio Nybegynder
19. juni 2001 - 16:49 #4
Jeg kan sagtens fjerne ting det er når jeg vil tilføje ting at der ikke sker noget.
Avatar billede logical Nybegynder
19. juni 2001 - 18:27 #5
Sorry, jeg manglede lige.

Efter et kald til invalidate(), kald validate() eller validateTree() afhængig af om det er dig, der skifter komponenter eller et underliggende panel.

Dette kører fint med små tilføjelser:

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class LogonApplet extends Applet {
  private TextField name = new TextField(20);
  private TextField pass = new TextField(20);

  public void init() {
    setLayout(new BorderLayout());
    add(name, BorderLayout.NORTH);
    add(pass, BorderLayout.SOUTH);
    Button b = new Button(\"Ok\");
    b.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            onwardsToNextScenario();
        }
    });
    add(b, BorderLayout.WEST);
  } 
  // When you want to get rid off the intro.
  public void onwardsToNextScenario() {
    remove(name);
    remove(pass);
    Panel p = new Panel();
    p.add(new Button(\"Hej\"));
    p.add(new Button(\"Dav\"));
    add(p, BorderLayout.CENTER);
    invalidate();
    validate();
  }       
}
Avatar billede mercutio Nybegynder
22. juni 2001 - 23:04 #6
logical du er en skat mange tak =).
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