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

标签 java swing actionlistener jdialog

你好我想在按下 jdialog 的确定按钮时触发一些 Action ,我知道你可以这样做

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 按钮时,我想要一个外部 Controller 来处理必须完成的事情(我的代码由 mvc 构建)。那么如何在确定按钮上设置 Action 监听器?

最佳答案

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

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

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

关于java - 如何在 jdialog 的 ok 选项上设置 actionlistener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15533920/

相关文章:

java - 如何在 Spring 中注入(inject)( Autowiring )bean 以枚举作为映射键进行映射?

java - 使用 Netty 5 编码和解码多种不同类型

java - 如何更改 JTable 中单元格的背景和格式

java - JFreeChart DialPlot 工具提示

java - 将 JMenuItem 的名称赋予它的 ActionListener

java - 为什么我不断收到 [line : 75] Error:must implement the inherited abstract method java. awt.event.ActionListener?

java - setter 未更新变量

Java 应用程序卡在 in.hasNext(); 上

java - 单击按钮时禁用 JTextPane 上的编辑 (Java)

java - 有没有办法取消并重用ExecutorService?