如何在jdialog的ok选项上设置actionlistener?

时间:2013-03-20 20:22:56

标签: java swing actionlistener jdialog

嗨我想在按下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}

但在我的情况下,当按下确定按钮时,我希望外部控制器处理必须完成的事情(我的代码由mvc构成)。那你如何在ok按钮上设置动作列表器?

1 个答案:

答案 0 :(得分:5)

这是可能的,但它不像在OK按钮中添加ActionListener那么容易。您必须使用PropertyChangeListener。

此页面上显示了一个示例:http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html#stayup

但是您可能想重新考虑您的设计。您仍然可以将结果从JOptionPane传递到控制器,而无需捕获事件本身。