remi sture Skrevet 24. oktober 2005 Del Skrevet 24. oktober 2005 Jeg har to guiklasser (Gui1.java, Gui2.java), og lurer på hvordan jeg f.eks kan få åpnet Gui2 hvis jeg klikker på en knapp i Gui1, samtidig som Gui1 lukkes. Noen som kan hjelpe meg her? Lenke til kommentar
remi sture Skrevet 24. oktober 2005 Forfatter Del Skrevet 24. oktober 2005 Prøvde noe slikt som dette, men det funker kun når man klikker én gang på en av knappene. Får feilmelding hvis man klikker flere ganger. private class Knappelytter implements ActionListener{ public void actionPerformed(ActionEvent hendelse){ if(hendelse.getSource() == btn1){ gui2.setVisible(false); Gui1 gui1 = new Gui1(); } else if(hendelse.getSource() == btn2){ gui1.setVisible(false); Gui2 gui2 = new Gui2(); } } } Lenke til kommentar
mikaelandre Skrevet 24. oktober 2005 Del Skrevet 24. oktober 2005 vet ikke hvilken feilmelding du får, men det jeg tror er feil ligger i linjen Gui1 gui1 = new Gui1();. Du har tidligere hatt en gu1 som er satt usynlig, og du akn da ikke opprette et nytt objekt med samme navn... samme gjelder da for gui2. opprett variablene på utsiden, og sett visible(true/false) i metoden. Lenke til kommentar
Iyon Skrevet 26. oktober 2005 Del Skrevet 26. oktober 2005 (endret) Du skal ha en knapp i hvert vindu som gjemmer det åpåne vinduet og åpner det andre? du trenger én lytter som lytter på begge knappene (mulig du kun trenger én instans av JButton også) slik kan metodespesifikasjonen se ut: public void actionPerformed(ActionEvent e) { gui1.setVisible(synlig); gui2.setVisible(!synlig); synlig = !synlig; } synlig er en boolean-variabel som du deklarerer på klassenivå i klassen som lytter på knappene. slik metoden står, bør du initialisere synlig som false, hvis gui1 skal være det vindu som først dukker opp... EDIT: Du må selvfølgelig ha instansiert gui2 først. Endret 26. oktober 2005 av jhsveli Lenke til kommentar
Vasily Skrevet 30. oktober 2005 Del Skrevet 30. oktober 2005 rivate class Knappelytter implements ActionListener{ public void actionPerformed(ActionEvent hendelse){ if(hendelse.getSource() == btn1){ gui2.setVisible(false); Gui1 gui1 = new Gui1(); } else if(hendelse.getSource() == btn2){ remove(gui1); Gui2 gui2 = new Gui2(); } } } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå