JAVA图形化编程的一个问题

我用的是Swing,有一个窗口A需要输入东西,我用JDialog新建了一个窗口B来输入,但是输入完了之后怎么把输入的字符传递给A并且接着执行处理字符的部分呢?原先设想的是将A传给B,B结束的时候将字符复制给A然后调用A相关的函数,但是这样耦合太高,如果又有个C也要输入的话就不能这样,而且A中相关的成员还要设成public的,请问有什么好办法吗?
2026年09月23日 11:44
有4个网友回答
网友(1):

这样。你用构造函数。你把JDialog作为一个参数来构造这个窗口。懂了吗。就是你先建立一个JDialog类B。然后你写A的时候把B作为参数来构造A:
public A(B){
}
这样你就不用方法了,你就可以直接使用里面的数据了

网友(2):

如果你A B的代码是分开的,那你可以在B里面添加一个A的引用(反过来也可以)
A a;
public B(A aaa)
{
this.a = aaa;

}
传输数据的时候,就可以
a.xxx = yyy;
懂我意思么?
我也没实际操作过,希望能帮到你。

网友(3):

前面的做法,略优化一下

网友(4):

JOptionalPanel.showInputDialog