Java:如何从 GUI 已委托(delegate)给的类打开弹出窗口?

标签 java swing popupwindow jdialog delegation

我的程序中有几个类,但现在我们只需要担心其中两个: GUI 和逻辑。

GUI 类委托(delegate)给 Logics 类:

Logics logics = new Logics();

这是因为我希望 GUI 类调用我在 Logics 类中的方法。

但现在我还想从 Logics 类中调用 GUI 中的方法。具体来说,我希望逻辑能够在满足某些特定条件(在逻辑类中检查)时使 GUI 类(JDialog)中的弹出框可见。

我该如何去做呢?我无法从逻辑委派给 GUI,因为那样我会出现溢出(来回委派到无穷大)。

有人有什么建议吗? :)

-谢谢

最佳答案

也许可以为 Logics 类提供显示对话框的服务。 GUI 类可以实现一个名为 DialogService(或其他)的接口(interface),该接口(interface)定义了显示对话框的方法。然后您可以调用:

Logics logics = new Logics(this); 

不需要 Logics 类直接访问 GUI 类。

关于Java:如何从 GUI 已委托(delegate)给的类打开弹出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12897304/

相关文章:

java - 从 Android 的角度看 J2ME 中的 CLDC 和 CDC

java - JAXB 将 XML 的一部分解码到类中,并将其余部分保留为元素或节点

java - 从类 Snake 调用类 render 中的 PaintComponent(Graphics g) 方法时出现问题

java - 强制 paintAll() 绘制不可见的 JPanel 及其组件?

javascript - 打印窗口被浏览器弹出窗口阻止程序阻止

java - @OneToOne JPA hibernate 无法确定类型

java - 当服务器等待客户端连接时,如何阻止套接字的accept方法?

java - 删除 jtable 中未使用的行(空行)?

python - 在 python 中使用 selenium 使用用户名和密码登录

android - 在 View 顶部打开 PopupWindow