Wątek przeniesiony 2014-07-01 08:57 z Java przez bogdans.

Wykonanie kodu po zamknięciu JFrame

0

Siema :)
Od razu piszę że nie jestem zaawansowanym programistą i proszę o wyrozumiałość :) Mam taki problem, chciałbym aby coś co znajduje się w jednym okienku wykonało się dopiero po zamknięciu okienka drugiego np.: W po kliknięciu przycisku otwieram nową Jframe okno2 okno2 = new okno2();

okno2.setVisible(true);
System.out.println("jakiś tekst");

I chodzi mi o to że jak zamknę okno2 to program wtedy wypisał jakiś tekst, a on po kliknięciu przycisku otwiera okienko i zaraz wypisuje nie czekając :) Szukałem na google ale nie znalazłem niczego interesującego :)

dodanie znacznika <code class="java"> - furious programming

0

W oknie2 napisz coś takiego:

setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
...
addWindowListener(....);

a w metodzie windowClosing listenera wypisz co chcesz i zamknij okno.

0

Nie działa mi coś :) Mam tak w pierwszym oknie w przycisku mam:

okno2 okno2 = new okno2();  
okno2.setVisible(true);
System.out.println("You are here");  

A w drugim:


public okno2() {
        initComponents();
    
        setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        addWindowListener(new WindowAdapter()
 {
   public void windowClosing(WindowEvent e)
    {
      
     }
  });

Zależy mi żeby pierwsze okienko coś wykonało po zamknięciu drugiego :) Bo drugie nie będzie miało dostępu (chyba) do np.: przycisku private :)

dodanie znacznika <code class="java"> - furious programming

0

Przekaż do drugiego okna referencje do pierwszego okna.

Okno2 okno2 = new okno2(this);  
okno2.setVisible(true);
System.out.println("You are here");  


private Okno1 okno1;
public Okno2(Okno1 okno1) {
        this.okno1 = okno1;
        initComponents();
   
        setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        addWindowListener(new WindowAdapter()
 {
   public void windowClosing(WindowEvent e)
    {
          //tu skorzystaj z referencji okno1
     }
  });

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