Programowanie obiektowe - JAVA
Informacje ogólne > Laboratorium 3 > Ćwiczenie 5 > Przykład 4. Interfejs implementowany w innej klasie publicznej zdefioniowanej w oddzielnym pliku - zmienna przekazana przez konstruktor.

Przykład 4. Interfejs implementowany w innej klasie publicznej zdefioniowanej w oddzielnym pliku - zmienna przekazana przez konstruktor.

PLIK Listener4.java:

import java.awt.*;
import javax.swing.*;

public class Listener4 extends JFrame {

   public Listener4() throws HeadlessException {
    
super();
     setDefaultCloseOperation(
EXIT_ON_CLOSE);
     setSize(500, 300);
     JButton b =
new JButton ("Zmien nazwe okna");

    
// przekazanie wskazania na objekt przez konstruktor
     
MojInterfejs2 mf = new MojInterfejs2(this);
       b.addActionListener(mf);
    
//lub w skrocie: b.addActionListener(new MojInterfejs2(this));
    
     
add(b);
      setVisible(
true);
 }

  public static void main(String[] args) {
    
new Listener4();
  }

}

PLIK MojInterfejs2.java - zwróć uwagę na sposób pobierania wskaźnika na obiekt JFrame:

import java.awt.event.*;
import javax.swing.*;

public class MojInterfejs2 implements ActionListener{
    
     JFrame
wskaznikNaOkno;

    //Konstruktor pobierajacy argument JFrame:
    
MojInterfejs2(JFrame zmiennaPrzekazana) {
            
wskaznikNaOkno = zmiennaPrzekazana;
      }

      public void actionPerformed(ActionEvent arg0) {
         
wskaznikNaOkno.setTitle("Inna klasa publiczna - przekazaie zmiennej przez konstruktor"
);
     }


}