Мой вопрос: почему или как я могу сделать значение «listenerList» равным 1 или 2, чтобы я мог отслеживать и получать статус этого экземпляра из класса оповещения с помощью vector ()?ex: listenerList - мой идентификатор процесса, чтобы отслеживать их, но его всегда значение 0
Вот весь код, не работающий, чтобы увидеть вывод: "это работает !!!, если я могу достичь здесь !!!":
[обновлено после предложения, но все так же, не работает]
1) Интерфейс
public interface Listener
{
public void registered();
public void connected(String IP,int Port);
public void disconnected();
}
2) Расширение интерфейса
public class alert implements Listener
{
public void registered()
{System.out.println("it WORKS!!!, if i can reach here!!!"); System.exit(0);}
public void connected(String IP, int Port)
{ throw new UnsupportedOperationException("Not supported yet.");}
public void disconnected()
{ throw new UnsupportedOperationException("Not supported yet."); }
}
3) Основной используемый класс
public class Provider extends Thread
{
public Vector listenerList;
public alert alert;
public Provider(String userName) throws Exception{ listenerList = new Vector();
addListener(alert);
}
public void addListener(Listener ls) { listenerList.addElement(ls);}
public void removeListener(Listener ls) { listenerList.removeElement(ls); }
public void run()
{
while(running)
{
fireRegisteredEvent(); // shows now value of 1, but does not do exit(0);
}
}
private void fireRegisteredEvent()
{
System.out.println("Fireing Registration: " + System.currentTimeMillis());
System.out.println("Fireing Registration: " + listenerList.size());
for (int i = 0; i < listenerList.size(); i++)
{
alert.registered();
System.exit(0);
}
}
}
4) Действие
private Provider multiinstance;
multiinstance = new Provider("Why are you not triggering: System.exit(0);??????");
multiinstance.start();
5) Вывод
Fireing Registration: 1303646370073
Fireing Registration: 1
....
6) Ожидаемый результат:
a) output: System.out.println("it WORKS!!!, if i can reach here!!!");
OR
b) listenerList.size() value is either 1 or 2?!!
OR
c) alert class and interface should react? no?? if not how i can ??