2011-07-08 4 views
3

ノードをツリーに追加、編集、削除する機能を持つJava Swingアプリケーションを開発しています。は、対応する関数呼び出しを適用して一連の変更を反映します。

たとえば、ユーザーがツリー上で操作を実行すると、新しいノードを追加するとすぐにUIに反映されますが、永続化する関数への対応する呼び出しは、ユーザーがApplyを選択した場合にのみ行われ、変更は以前の安定した状態に戻ります。

適用とキャンセルのUI部分を処理しましたが、適用時に一連のプロシージャコールを効率的に実行する方法が不思議です。

私は、arraylistに文字列としてプロシージャコールを追加し、このarraylistを順番に繰り返して(これが重要な要件であるユーザー操作の順序を保証するため)、Javaステートメントとして実行することを考えました。

もう1つの方法は、ユーザー操作のシーケンスをプロシージャー・シーケンスにマッピングし、プロシージャー・シーケンスをパラメーターのリストにマッピングするためのダブル・マップを持つことです。

しかし、私はこれを達成するためのよりよい方法があると感じ、あなたの答えを聞きたいと思います。

答えて

1

「元に戻す」機能を実装する場合は、UIとプロシージャのアクションをマッピングしたいと思う唯一の時間です。それ以外の場合は、操作のリストを保存して、記述した順序で並べ替えるのが最も簡単です。

+0

お返事ありがとうございます。私は、関数呼び出しを格納する最良の方法(形式)が何であるかを教えてください。そうすれば、それらを簡単に読み込んで実行することができます。私は文字列として関数呼び出しを格納し、それらの文字列をjava文として実行することを検討する必要がありますか? (私はこの質問が尋ねられたのを見た)。または他のより良い代替手段がありますか? –

関連する問題