2010-08-22 25 views
1

我正在开发Java Swing应用程序。我对Java很陌生,所以有一些问题。我有一个模式窗口与一些控件集(文本字段,按钮等)。模态窗口中的事件处理(Java swing)

我想处理点击父窗口中的按钮。我认为最有效和最准确的方法是首先在模态窗口中处理它,然后从模型窗体中引发另一个事件并在父窗体中处理它。

这种方法是否正确,以及这样做的最佳做法是什么?

感谢您的帮助!

+0

为什么你不能在父窗口的按钮上放置一个处理程序? – Starkey 2010-08-22 20:29:04

回答

0

通常,包含该按钮的对话框应处理按钮单击。

但是,也许你可以使用JOptionPane。它旨在返回哪个按钮被点击,然后您可以基于点击的按钮进行自定义处理。有关示例,请查看How to Make Dialogs上的Swing教程部分。也不是说您可以将面板添加到选项窗格中。在这种情况下,您可能会发现Dialog Focus提示有用。

0

我想你想要的是在父窗口中按钮的动作(或动作侦听器)来处理鼠标点击模式对话框中的按钮(或任何东西)。

有无数的方法来做到这一点。您可以将动作传递给模式对话框,传递按钮并调用doClick(),传递可重定向鼠标点击(或任何其他)的接口的实现等。

或者如果您想要单击实际按钮在模态对话框启动时的父窗口,查找模态的定义。