Przykład 3. Interfejs implementowany w klasie wewnętrznej.
import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class Listener3 extends JFrame {
int i = 10;
public Listener3() throws HeadlessException { super(); setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(500, 300); JButton b = new JButton ("Zmien nazwe okna"); //stworzenie obiektu klasy wewnetrznej: MojInterfejs mf = new MojInterfejs(); b.addActionListener(mf); //lub w skrocie: b.addActionListener(new MojInterfejs());
add(b); setVisible(true); }
public static void main(String[] args) { new Listener3(); }
// definicja klasy wewnętrznej - zwróć uwagę na "widoczność" zmiennych
class MojInterfejs implements ActionListener{
public void actionPerformed(ActionEvent arg0) { setTitle("Klasa wewnetrzna - wartość zmiennej i: " +i ); }
} // koniec klasy wewnetrznej
} // koniec klasy zewnetrznej
|