- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Java(eclipse)のundoについて)
Java(eclipse)のundoについて
このQ&Aのポイント
- Javaのeclipseで電気回路の回路エディタを作っている際に、素子を間違って出した時の「戻る」ボタンを追加したいのですが、undoについてよくわかりません。
- 知人に聞いたり調べたりして、コード内でhistoryやStackなどを使って記録をつけ、それを遡らせることでundo機能を実装することができると聞きましたが、具体的な方法がわかりません。
- どなたか詳しい方、undo機能の実装方法についてご助言いただけませんでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ひとまず、一段階だけundoできるように作ってみてはいかがですか。 1. "前の状態"を覚えておくための変数を用意する。最初は空にしておく。 2. 画面上に素子を足す・移動する・消す、回路をつなぐなどの編集操作が発生したら 2-1. 編集前の回路の状態を"前の状態"として覚える。 2-2. 実際の編集操作を行い、回路の状態を更新する。 3. undo操作を指示されたら 3-1. "前の状態"が空であれば、undoはできないので何もしない。 3-2. "前の状態"が空でなければ、現在の回路の状態を破棄して"前の状態"に戻す。その後"前の状態"は空にする。 4. 2~3を繰り返す。その他、必要であればファイルに保存するなどの処理を行う。 "前の状態"をどうやって覚えるかに決まったやり方はありません。回路全体の状態を毎回覚えておくのは効率が悪いので、変化のあった部分だけ覚えておいて3-2ではその逆操作を行う(素子を消す操作の逆操作なら、消した素子を復活させる)ほうが普通です。 一段階だけのundoができるようになったら、"前の状態"を覚える変数を二段階分以上に増やせるようにしてみてください。
お礼
ありがとうございました! 参考にさせていただきます!