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}

但在我的情况下,我想要一个外部控制器来处理按下确定按钮时必须完成的事情(我的代码由 mvc 构成)。那么如何在确定按钮上设置一个动作监听器呢?

4

1 回答 1

5

这是可能的,但并不像将 ActionListener 添加到 OK 按钮那么简单。您必须使用 PropertyChangeListener。

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

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

于 2013-03-20T20:38:39.400 回答