Du kan se hvad jeg har skrevet... og måske hjælpe mig med hvordan jeg gør det til en doModal. Mit problem er nemlig at når jeg åbner window'et login, så kører den stadig videre i koden... vil sige modaless & udskriver System.out.print("efter login");... vil gerne havde den udfører login'ets kommadoer først.
Har applikations klassen:
import javax.swing.UIManager; import java.awt.*;
public class Application1 { boolean packFrame = false; static Frame1 me;
//Construct the application public Application1() { } //Main method public static void main(String[] args) { // new Application1(); System.out.println("main i app"); me = new Frame1(); me.show();
} }
som åbner min Frame1, som er min main.
I den har jeg en knap der skal åbne et ny window, hvor man skal indtaste login. Dette window skal være doModal.
knap funktionen ser således ud:
void login_actionPerformed(ActionEvent e) { System.out.println("trykket på Login!"); log.setVisible(true);
System.out.print("efter login"); }
har oppe i constructeren defineret:
Login log = new Login();
Som åbner den på heapen. Hvad skal jeg gøre anderledes?
public void actionPerformed(ActionEvent e) { new DialogTest(this); }
public static void main(String args[]) { new SwingTest().show(); } }
class DialogTest extends JDialog { public DialogTest(Frame f) { super(f, "DialogTest", true); setSize(200, 200); getContentPane().add(new JLabel("Exit med x i øverste højre hjørne!")); show(); } }
soreno... i det ekseempel du har vist, hvordan får man så tilgang til hvis man har funktioner man skal kalde... eller hvis man har en variabel man skal bruge der fra?
Plejer at: DialogTest test = new DialogTest; test.KørDenFunktionDuVilHave;
Det er i mit eget program jeg har implemteret det... konstruktørene til dialogen... kan du vise et eks? Hvis jeg nu havde en variabel i DialogTest... CheckLoginOk. Og vil hente den fra main klassen... hvordan henter jeg så funktionen?
Øhhh, kunne du ikke bare returnere en værdi når dialogen afsluttes.
Som der er beskrevet i nogle af eksemplerne i første link.
Det er ikke godt design at tilgå variabler direkte i andre klasser.
Noget ala MyDialog myDialog = new MyDialog(this); int retVal = myDialog.login(); if(retVal == MyDialog.LOGIN_SUCCESS) { //jubii :-) } else { //det var ikke så godt :-( }
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.