gpt4 book ai didi

java - 两个不同的 JFrame 之间的通信?

转载 作者:搜寻专家 更新时间:2023-10-31 19:35:48 24 4
gpt4 key购买 nike

你好,你可能听说过 GIMP 或类似的东西,它使用不同的框架作为一个完整的图形用户界面,所以我想知道当两个(可能是多个)框架都加载到内存中并且可见时如何进行这样的框架通信。

我已经浏览了一些文章,但它们不是很令人满意,如果有人有好的示例或教程,请分享。

问候阿洛克沙玛

最佳答案

基本上,这只是在框架 B 中引用框架 A 以及在框架 A 中引用框架 B 的问题:

public class FrameA extends JFrame {
private FrameB frameB;

public void setFrameB(FrameB frameB) {
this.frameB = frameB;
}

public void foo() {
// change things in this frame
frameB.doSomethingBecauseFrameAHasChanged();
}
}

public class FrameB extends JFrame {
private FrameA frameA;

public void setFrameA(FrameA frameA) {
this.frameA = frameA;
}

public void bar() {
// change things in this frame
frameA.doSomethingBecauseFrameBHasChanged();
}
}

public class Main {
public static void main(String[] args) {
FrameA frameA = new FrameA();
FrameB frameB = new FrameB();
frameA.setFrameB(frameB);
frameB.setFrameA(frameA);
// make both frames visible
}
}

大多数时候,接口(interface)被引入来解耦框架(监听器等),或者使用中介来避免所有框架之间的过多链接,但你应该明白这一点。

关于java - 两个不同的 JFrame 之间的通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5127140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com