Avatar billede nutten Nybegynder
19. marts 2001 - 16:37 Der er 7 kommentarer og
2 løsninger

Java knapper og styring af ActionListener

Jeg har 2 spørgsmål med 30 point til hver.

1) Hvordan får jeg en knap på en frame til at lukke denne frame, og samtidig åbne en anden frame ??? (  Det bruges i logon øjemed, hvor brugernavn og pass bliver valideret og derefter åbner selve programmet ).

2) Hvordan styrer man flere ActionListeners ?
Hvis du har 1 frame med en ActionListener og 3 forskellige knapper. Knapperne skal jo logisk nok lave noget forskelligt, men hvordan det defineres er jeg stået lidt af på :(.


Avatar billede madshenrik Nybegynder
19. marts 2001 - 17:06 #1
Spørgsmål 2)
Du har en actionPerformed metode, som du kan styre det fra på følgende måde.

public void actionPerformed(ActionEvent ae)
  {

  try {
          if (ae.getSource ()== knap1)
              {

}
          if (ae.getSource ()== knap2)
              {

              }
          if (ae.getSource ()==knap3)
              {

              }
    }
    catch (Exception e) {}
  }
}
osv.

Håber det er hvad du mener.

Mads
Avatar billede cyfer Nybegynder
19. marts 2001 - 17:10 #2
<div align=\"center\"><center><p><input type=\"button\" value=\"Luk\" onClick=\"window.close();\">
Avatar billede pstric Nybegynder
19. marts 2001 - 17:13 #3
1) Overvej, om det i det i det hele taget er det, du vil lave. Den frame, der bruges til validering har sandsynligvis ikke nogen grund til at vide, hvilken frame der skal vises bagefter. Lav i stedet valideringen i en passworddialog, som enten kaldes fra hovedskærmen inden denne vises eller endnu bedre (?) lav en opstartsfunktion, der først kalder passworddialogen og hvis denne siger ok til det indtastede, så vises hovedframen.

På den første måde, undgår du koblingen mellem valideringen og selve programmet. Du vil så senere kunne bruge den samme passworddialog i andre sammenhænge. Med den anden måde, slipper hovedframen helt for at vide, at der først er sket en validering. Og det er for det meste også fuldstændig ligegyldigt for hovedframen.
Avatar billede mpultz Nybegynder
19. marts 2001 - 17:19 #4
1) Lad dit \"main frame\" være listener på knappen. Den kan så lukke den frame som knappen er indeholdt i og åbne en anden frame.

2) Brug f.eks. anonyme klasser.
myButton.addActionListener(new ActionListener()
{
  public void actionPerformed(ActionEvent e)
  {
    // Indsæt funktionalitet
  }
});
Avatar billede nutten Nybegynder
19. marts 2001 - 17:46 #5
madshenrik >> det virkede desværre ikke :(
mpultz >> perfekt :) !
cyfer og pstric >> ??????? fatter ikke.........
Avatar billede nutten Nybegynder
19. marts 2001 - 17:46 #6
madshenrik >> det virkede desværre ikke :(
mpultz >> perfekt :) !
cyfer og pstric >> ??????? fatter ikke.........
Avatar billede nutten Nybegynder
19. marts 2001 - 17:49 #7
madshenrik >> det virkede desværre ikke :(
mpultz >> perfekt :) ! Får point når 1) er løst.
cyfer og pstric >> ??????? fatter ikke.........
Avatar billede madshenrik Nybegynder
19. marts 2001 - 22:36 #8
Har du husket det hele for jeg ved det virker. Du skal knap1.addActionListener (this); for alle knapper.

Mads
Avatar billede nutten Nybegynder
20. marts 2001 - 10:39 #9
Jeg fandt ud af det første spørgsmål selv. Det blev til:

this.setVisible(false);

Og madshenrik >> jeg kan IKKE få det til at funge med din metode... desværre. Ellers tak for hjælpen.


Nutten
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