我需要为学校项目使用观察者设计模式,但我遇到了问题。我有一个计时器和一个自减的 int,我想做一个观察者,所以当 int 变为 0 时,会弹出一个 jdialog。
这是我的代码:
public class Joc extends JPanel implements ActionListener {
javax.swing.Timer t1;
int time=0,
MyObservator obs = new MyObservator();
public Joc()
{ ... // constructor stuff
t1=new javax.swing.Timer(1000, (ActionListener) this);
t1.start();}
public void actionPerformed(ActionEvent e) {
if(time>0) {time--;}
else {}
}
// 我的观察者类
public class MyObservator implements Observer{
Joc joc;
MyJDialog dialog;
@Override
public void update(Observable o, Object arg) {
if(joc.time==0)
{dialog.setVisible(true);}
}
}
我不明白如何使用观察者,如何添加观察者以及如何使其发挥作用?