1

こんにちは、jdialog の [OK] ボタンが押されたときに何らかのアクションをトリガーしたいのですが、この方法で実行できることを知っています。

int rep =JOptionPane.showConfirmDialog(null, pangesfac, "Gestion des chambres a facturer", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
    if(rep == JOptionPane.OK_OPTION) {//actions to do}

しかし、私の場合、OKボタンが押されたときに、外部コントローラーが実行する必要があること(私のコードはmvcによって構成されています)を処理する必要があります。OKボタンにアクションリスナーを設定するにはどうすればよいですか?

4

1 に答える 1

5

可能ですが、[OK]ボタンにActionListenerを追加するほど簡単ではありません。PropertyChangeListenerを使用する必要があります。

このページに例を示します:http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html#stayup

ただし、設計を再検討することをお勧めします。イベント自体をキャプチャしなくても、JOptionPaneからコントローラに結果を渡すことができます。

于 2013-03-20T20:38:39.400 に答える