当前位置: 技术问答>java相关
请问如何实现两个窗口之间的通信?
来源: 互联网 发布时间:2017-03-09
本文导语: 我想实现两个窗口之间的通信,但不知道应该怎样做才行 例如: JFrame1包含main():有一个button和JTextArea,当按Button的时候新建JFrame2 JFrame2:有一个button和JTextArea :当我们在JTextArea中输入文字的时候这些文字会自...
我想实现两个窗口之间的通信,但不知道应该怎样做才行
例如:
JFrame1包含main():有一个button和JTextArea,当按Button的时候新建JFrame2
JFrame2:有一个button和JTextArea :当我们在JTextArea中输入文字的时候这些文字会自动出现在JFrame1的JTextArea中。
JFrame2要是外部类,不能是JFrame的内部类。
问题是我不知道如何在JFrame2中获得已经实例化了的JFrame1的JTextArea对象
不知道这样说是否明白?
例如:
JFrame1包含main():有一个button和JTextArea,当按Button的时候新建JFrame2
JFrame2:有一个button和JTextArea :当我们在JTextArea中输入文字的时候这些文字会自动出现在JFrame1的JTextArea中。
JFrame2要是外部类,不能是JFrame的内部类。
问题是我不知道如何在JFrame2中获得已经实例化了的JFrame1的JTextArea对象
不知道这样说是否明白?
|
很简单把实例化的JFramel作为参数传给JFrame2
举个例子
class JFrame1
{
public JFrame1()
{
}
main()
{
JFrame1 f1 = new JFrame1();
JFrame2 f2 = new JFrame2(f1);
}
}
class JFrame2
{
public JFrame2(JFrame1 f)
{
JFrame1 f123 = f; //这样不是就能得到了吗
}
}
举个例子
class JFrame1
{
public JFrame1()
{
}
main()
{
JFrame1 f1 = new JFrame1();
JFrame2 f2 = new JFrame2(f1);
}
}
class JFrame2
{
public JFrame2(JFrame1 f)
{
JFrame1 f123 = f; //这样不是就能得到了吗
}
}
|
楼上说的非常正确,这也是软件编程常用的方法。