Java Swing. Jak znaleźć JFrame komponentu JButton.

0

Hej.

Mam problemik, potrzebuję pomocy.

Załóżmy, że mam taki kod :

 
(...)
   Sluchacz_przycisku sluchacz = new Sluchacz_przycisku();
   JButton przycisk = new JButton();
   przycisk.addActionListener (sluchacz);
   }
}

class  Sluchacz_przycisku extends ActionListener
{
   public void actionPerformed(ActionEvent arg0) 
   {
    JButton przycisk = (JButton) arg0.getSource();

**// W jaki sposób mając referencję przycisku można wydobyć ramkę panelu w którym jest osadzony. Chciałbym w tym miejscu utworzyć okno dialogowe ale potomne względem głównego okna.**

   ramka_rodzic =                                                //tutaj nie wiem jaki kod

   JDialog okno = new JDialog( ramka_rodzic, true);
   }
}

Sluchacz_przycisku nie jest klasą wewnętrzną.

0
JFrame f = (JFrame)przycisk.getParent()
0

A jeśli przycisk byłby w jakiś sposób zagnieżdżony (np. osadzony na panelu, panel na ramce). W jaki sposób dojść na samą górę hierarchii?

1

A może tak:

   Sluchacz_przycisku sluchacz = new Sluchacz_przycisku(referencja_do_rodzica);
   JButton przycisk = new JButton();
   przycisk.addActionListener (sluchacz);
   }
}
 
class  Sluchacz_przycisku extends ActionListener
{
   private JContener rodzic;
   public Sluchacz_przycisku(JContener rodzic)
   {
       this.rodzc = rodzic
   }
   public void actionPerformed(ActionEvent arg0) 
   {
    JButton przycisk = (JButton) arg0.getSource();
 
**// W jaki sposób mając referencję przycisku można wydobyć ramkę panelu w którym jest osadzony. Chciałbym w tym miejscu utworzyć okno dialogowe ale potomne względem głównego okna.**
 
 
   JDialog okno = new JDialog( ramka_rodzic, true);
   }
}

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