はい、そう基本的挙動及び動作はcommand patternを使用するものとして見ることができる場所をとる場合に必要とされる他の情報をカプセル化するオブジェクトを作成します。
上記連結Wikipediaの記事は、スイング中のコマンドのパターンの一例としてAction
インターフェースを使用します。 Action
インタフェースはActionListener
のサブインタフェースなので、Action
を実装するクラスは、actionPerformed
メソッドを実装する必要があります。
したがって、Action
を実装するクラスは、アクションが発生したときに実行されるいくつかの操作をカプセル化します。そのクラス自体はコマンドパターンに従うことがわかります。
一般的に、AbstractAction
は、いくつかの方法をオーバーライドする必要があるため、Action
の実装よりも使いやすくなります。 AbstractAction
を使用した例があることができます:
class MySpecialAction extends AbstractAction {
@Override
public void actionPerformed(ActionEvent e) {
// Perform operations.
}
}
MySpecialAction
は、コマンドパターンオブジェクトである - それは、アクションが行われるとき、それは示さなければならない行動を持っています。上記クラスのインスタンスを作成する際、人は次のことを試みることができる:
MySpecialAction action = new MySpecialAction("Special Action", mySpecialIcon);
そして、アクションが複数のコンポーネントに登録することができる、などJButton
S、JMenuItem
Sなどを。各場合において、同じMySpecialAction
オブジェクトが呼び出される。両方の場合において
JMenuItem specialMenuItem = new JMenuItem(action);
/* ... */
JButton b = new JButton(action);
、各構成要素、ボタン、メニュー項目に関連付けられているアクション、同じMySpecialAction
アクション・オブジェクト、または命令を指します。わかるように、MySpecialAction
オブジェクトは、アクションが発生したときに実行されるいくつかのアクションをカプセル化するため、コマンドパターンの後のオブジェクトとして機能しています。ここで
Thx。非常に役に立ちました:) –
リンクダウンです.... – KJW
ページリンクがダウン – jawath