Witam,
Mam klasę generator, która wykonuje zdarzenie co jakiś czas:
import java.awt.* ;
import java.awt.event.* ;
import javax.swing.*;
import java.util.*;
import java.text.*;
public class Generator extends JLabel implements Runnable
{
public int Gen;
public boolean power=true;
ActionListener actionListener=null;
public Generator()
{
Thread Watek = new Thread(this);
Watek.start();
}
public void genOn()
{
power = true;
}
public void genOff()
{
power = false;
}
public void run() {
while(true)
{
while(power)
{
if (actionListener != null)
{
actionListener.actionPerformed(new ActionEvent(this, ActionEvent.ACTION_PERFORMED, "generator"));
}
try {
Thread.sleep(2000);
}
catch( InterruptedException e) {};
}
}
}
public void addActionListener(ActionListener listener)
{
actionListener = AWTEventMulticaster.add(actionListener, listener);
}
public void removeActionListener(ActionListener listener)
{
actionListener = AWTEventMulticaster.remove(actionListener, listener);
}
}
Jak w innej klasie, w metodzie
public void actionPerformed(ActionEvent e)
otrzymywać zdarzenie od generatora?
Na przykład:
If( źródło == generator)
klasa.zwiększStan();