// MyButtonListener.java import java.awt.event.*; import java.util.*; public class MyButtonListener implements ActionListener, Observer { public MyButtonListener() { } public void actionPerformed(ActionEvent ae) { veryLongProcess(); } public void veryLongProcess() { LongProcessThread thread = new LongProcessThread(); thread.addObserver(this); new Thread(thread).start(); } // Observer#updateの実装 public void update(Observable o, Object arg) { System.out.println("なが〜い処理が終わりました。"); } }