Avatar billede datatluc Nybegynder
01. november 2002 - 21:56 Der er 5 kommentarer og
1 løsning

Opdatering af applet

Hej på eksperten jeg er næsten lige startet på applets og har det problem at jeg i min button_actionEvent() metode ikke kan få ændringerne frem på skærmen.
Den står bare til lave en setText() men der mangler et eller andet update, repaint ???
Er der nogen der kan spotte problemet?

Mvh DatAtLuc

public void DFInit() throws Exception {   
  setLayout(new BorderLayout());
       
  indtast = new Panel();
  name = new Label("Name        ");
  pass = new Label("Password");
  username = new TextField(20);
  password = new TextField(20);
  indtast.add(name);
  indtast.add(username);
  indtast.add(pass);
  indtast.add(password);
       
  knapper = new Panel();
  quitButton = new Button("Quit");
  quitButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        //metodekald   
    }
  });
  loginButton = new Button("Login");
  loginButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {                   
      button_actionPerformed(e);
    }
  });
  knapper.add(loginButton);
  knapper.add(quitButton);
       
  add(indtast,"Center");
  add(knapper, "South");   
}
public void button_actionPerformed(ActionEvent e){
  String temp = "fejl";
  DFSQL sql = new DFSQL();
  sql.tryConnect();
  temp = sql.login(username.getText(), password.getText());
  username.setText(temp);
  repaint();
}
Avatar billede aslan Nybegynder
01. november 2002 - 22:25 #1
i din knap skal du smide en actionlistener på:

knap.addActionListener(this);

og i din actionperformed metode til sidst kan du så reagere på denne knap via:

public void button_actionPerformed(ActionEvent e)
{
if(e.getSource()==knap)
{
gør noget
}
}
Avatar billede aslan Nybegynder
01. november 2002 - 22:27 #2
ups
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==knap)
{
gør noget
}
}
Avatar billede datatluc Nybegynder
02. november 2002 - 12:57 #3
min actionPerformed() metode kalder metoden button_actionPerformed()
så funktionaliteten er vel bare flyttet til denne metode.

men mit problem er at jeg ikke ka finde ud af at ændre appletens udseende efter der er trykket på login.
Så det jeg søger er bare et eksempel på hvordan jeg kan ændre på appleten runtime vise et f.eks vise en label med teksten fra String temp når der trykkes på login knappen
mvh DatAtLuc
Avatar billede bumle90 Nybegynder
02. november 2002 - 14:52 #4
Prøv engang med dette her lille eksempel

public class minApplet extends Applet implements ActionListener
private Label medd;
private TextField indtast;
    public void init()
    {
    setLayout(new BorderLayout());
    medd=new Label ("");
    indtast= new TextField(20);
    Button changebutton = new Button("Opdater");
    changebutton .addActionListener(this);
    add(medd,"North");
    add(indtast, "Center");
    add(changebutton , "South");
    }

    public void actionPerformed(ActionEvent e)
    {
    medd.setText("Du skrev "+indtast.getText());
    indtast.setText("");
    }

Kan godt være syntaxen ikke er helt korrekt...har ikke compilet det :)
Avatar billede datatluc Nybegynder
02. november 2002 - 15:35 #5
Tak bumle90 det var lige det jeg manglede for at komme videre troede at man skulle lave noget repaint eller show før ændringerne blev vist...
Avatar billede bumle90 Nybegynder
02. november 2002 - 18:35 #6
selv 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