@Override
  public void actionPerformed(ActionEvent ae) {
    // ファイルオープンのダイアログを開く．
    int returnVal = this.chooser.showOpenDialog(canvas);
    if (returnVal == JFileChooser.APPROVE_OPTION) {
      File file = this.chooser.getSelectedFile();
      DrawableReader reader = null;
      try {
        // readerを作成する．
        reader = new DrawableReader(new Scanner(file), canvas);
        Command command;
        // readerから描画図形を（図形追加の）コマンドとして読み込む．
        while ((command = reader.nextCommand()) != null) {
          // 対象のキャンバスでコマンドを実行する．
          this.canvas.execute(command);
        }
      } catch (java.io.FileNotFoundException e) {
        System.err.println(e.getMessage());
      } finally {
        if (reader != null) {
          reader.close();
        }
      }
    }
  }