[Java/Swing] Program dwu okienkowy wylacza jedno okienko


(pain3hp) #1

Zrobiłem program który ma uruchomione dwa JFrame (okna). z ustawiona metoda setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

dokładniej zrobiłem sobie klase do tworzenia okienka:

public class Okno extends JFrame

{

    public Okno(JFrame okno, String tytul)

    {

        okno.setBounds(100, 100, 150, 100);

        okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        okno.setVisible(true);

        okno.setTitle(tytul);

    }

}

gdy tworze dwa obiekty tej klasy to oczywiscie na ekranie sa dwa okna, ale gdy zamykam jedno to wylacza ono program, rozumiem dlaczego tak się dzieje ale czy ktoś potrafi to obejść? Kiedy wyłączymy tą funkcję to wtedy one się pozwolą zamykać pojedynczo ale nie wyłączą programu, więc może da się sprawdzać ile okien jest aktualnie otwartych i wtedy gdy pozostaje jedno dopiero jej ustawiać tę metodę, tylko jak?


(matiit) #2

Trzymać gdzieś instancje klasy okno w postaci jakiejś listy. Dodać do klasy okno metodę, która sprawdza czy lista ma więcej niż jeden element, jeśli jest tylko jeden to ustawiać EXIT_ON_CLOSE.

Może tak?