java - 在不创建新实例的情况下从 JInternalFrame 调用 JFrame 的方法

标签 java swing jframe jinternalframe

我在执行此操作时遇到了一个大问题:

从一个JFrame,我调用了一个JInternalFrame,所以,我想从JIF调用一个JF的方法。问题是,如果我创建此 JF 的新实例,则不会应用更改,因为它与原始实例不同。

我正在这个 JIF 中进行登录,如果凭据正确,则必须更改 JF 中的菜单,否则,无需应用任何更改。

我在 Internet 上的其他站点上读到“Invoke”是解决方案,但“Invoke”显然只适用于新实例。还有其他解决方案吗?

最佳答案

不要考虑 JFrame 或 JInternalFrame,因为如果/当您扩展程序时,您可能不会使用任何扩展这两个类的类。相反,您应该从一个对象如何调用另一个对象的方法的一般角度来看待这个问题。解决方案是让一个对象获得对感兴趣对象的有效引用,可能是通过构造函数参数或 setter 方法传递该引用。然后在该引用上调用所需的公共(public)方法。在这个 JFrames 和 Swing 中与任何其他 Java 程序没有什么不同。

关于,

I read in other sites on Internet that "Invoke" is the solution...

不,这与您当前的问题无关,而是与 Swing 线程问题有关,这也不是您当前代码失败的原因。

要获得更多帮助和更好的帮助,请考虑创建并发布 sscce .

关于java - 在不创建新实例的情况下从 JInternalFrame 调用 JFrame 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20645369/

相关文章:

java - 无法实例化类型 actionlistener?

java - 如何创建与 mysql 根目录的连接以访问所有数据库?

Java 2D 空指针异常

java - 如何处理版本控制托管的不同项目之间的外部资源?

java - richfaces suggestionBox 将附加值传递给支持 bean

java - 如何将列名添加到我的 java 表中? (来自数据库)

java - 已编辑!未调用的 getter 函数导致 JPanel 在错误的位置重新打印

java - 在不同步的情况下通过 100 个不同的线程递增静态变量,但最终结果为 100

java - 存储mysql数据库连接安全吗?

java - JFreeChart 隐藏在另一个图表后面