[JAVA] Zamykanie forma

0

Witam!!!
Problem dotyczy zamknięcią forma!!
Mam jednen form towrzony na podstawie klasy A załóżmy że naswiemy go główny. Z niego za pomocą jakiegoś przycisku otwieram drugiego forma stworzonego na podstawie klasy B. I teraz chce zamknąć tylko tego drugiego forma. Jak powinno wyglądać polecenie? bo jak dam System.exit(0) to zamykają się obydwa.

No i jeszcze jedno pytanie chce zablokować przejście do 1 forma jak otwarte jest podrzędne. Jak takie coś zablokować (zrobić aby był nieaktywny 1 form)??
Pozdrawiam
EP

0

pobaw sie:

setVisible(true) , setVisible(false)

0

Zeby zamknac wywolaj dispose(), zeby tamten byl nieaktywny to podawaj jego referencje nowemu okienku. W nowym okienku wywolaja na macierzystym oknie setEnabled(false) i przy zamykaniu odwrotnie.

pozdrawiam
johny

0

Zamykanie już działa (dzięki Johny)!! Ja kombinowałem this.dispose() a nie pomyślałem o samym dispose).

Z do tego setEnable() to wyłączenie mi działą tylko nie wiem gdzie wpisać to z TRUE żeby je aktywować. Gdzie sprawdzić że jest on zamykany i wywołać to polecenie?

0
edi2006 napisał(a)

Zamykanie już działa (dzięki Johny)!! Ja kombinowałem this.dispose() a nie pomyślałem o samym dispose).

Z do tego setEnable() to wyłączenie mi działą tylko nie wiem gdzie wpisać to z TRUE żeby je aktywować. Gdzie sprawdzić że jest on zamykany i wywołać to polecenie?

Rozumiem, ze zamykasz okienko x'em? Niech okienko implementuje interfejs WindowListener. Nastepnie na przyklad w konstruktorze addWindowListener(this), a pozniej korzystasz z zaimplementowanej metody windowClosing albo windowClosed.

pozdrawiam
johny

0

Jak zrobić żeby przy zamykaniu forma i aktywawaniu okna głównego nie chowało się ono do paska??
Może nie tu aktywuje? Robie to w głównym formie tak:

this.addWindowListener(new WindowAdapter() {
  public void windowActivated(WindowEvent evt) {
    setEnabled(true);
  }
});
0

Nie za bardzo kumam, czemu tak robisz. Wlaczasz aktywnosc formy (setEnabled) kiedy stanie sie ona aktywna (windowActivated) - takie troche maslo maslane. Co chcesz osiagnac? Zamykanie dziecka i aktywowanie rodzica tak jak przedtem? W takim razie ten addWindowListener daj w dziecku i aktywuj rodzica + przeladowanie metody windowClosing;

pozdrawiam
johny

0
johny_bravo napisał(a)

Nie za bardzo kumam, czemu tak robisz. Wlaczasz aktywnosc formy (setEnabled) kiedy stanie sie ona aktywna (windowActivated) - takie troche maslo maslane. Co chcesz osiagnac? Zamykanie dziecka i aktywowanie rodzica tak jak przedtem? W takim razie ten addWindowListener daj w dziecku i aktywuj rodzica + przeladowanie metody windowClosing;

pozdrawiam
johny

A jak aktywować w dziecku rodzica? Niebardzo rozumie jak to zrobić? Jak dam samo setEnebled() lub z this to będę się odnosić do dziecka a nie do rodzica.

0
edi2006 napisał(a)

A jak aktywować w dziecku rodzica? Niebardzo rozumie jak to zrobić? Jak dam samo setEnebled() lub z this to będę się odnosić do dziecka a nie do rodzica.

Przekazujesz referencje do rodzica przy tworzeniu dziecka, np. w konstruktorze, zapamietujesz w skladowej klasy i pozniej z niej korzystasz.

pozdrawiam
johny

1 użytkowników online, w tym zalogowanych: 0, gości: 1