Java 从另一个JDialog访问父JDialog的JTextArea文本
我有两个Java 从另一个JDialog访问父JDialog的JTextArea文本,java,jdialog,Java,Jdialog,我有两个JDialog。第一个是名为MainJDialog的主对话框。第二个是名为ChildJDialog的子对象。我在MainJDialog中有JButton,当这样按时,它会将ChildJDialog显示在屏幕上 ChildJDialog childJDialog; childJDialog = new ChildJDialog (MainJDialog.this, true); childJDialog.setVisible(true); 另外,我在MainJDialog中有几个JTex
JDialog
。第一个是名为MainJDialog
的主对话框。第二个是名为ChildJDialog
的子对象。我在MainJDialog
中有JButton
,当这样按时,它会将ChildJDialog
显示在屏幕上
ChildJDialog childJDialog;
childJDialog = new ChildJDialog (MainJDialog.this, true);
childJDialog.setVisible(true);
另外,我在MainJDialog
中有几个JTextArea
填充了用户输入的信息
我已将JButton
添加到ChildJDialog
中,并希望在按下时访问当前运行的所有者MainJDialog
的spesificJTextArea
文本
private void getTextOfJTextArea1ButtonActionPerformed(java.awt.event.ActionEvent evt)
{
System.out.println(ChildJDialog.this.getOwner().getClass());
}
结果:
class tryingproject.MainJDialog
上面的ActionEvent
为我提供了真正的所有者JDialog
,但我不知道如何访问它的组件
谢谢你的帮助。谢谢。--已解决---
我在ChildJDialog
中创建了一个构造函数,当用户调用ChildJDialog
时,我将MainJDialog
的jtextraea1文本作为参数传递给ChildJDialog
,如下所示
ChildJDialog childJDialog;
childJDialog = new ChildJDialog (MainJDialog.this, true, textOfJTextArea1);
childJDialog.setVisible(true);
我在ChildJDialog
不是我知道的确切解决方案,但目前正在工作。
但我不知道如何访问其组件。
-正如子dalog类有一个“getter”方法来获取父对话框一样,如果您想访问MainJDialog类中的组件,那么您需要创建一个“getter”方法。可能类似于getTextComponent()
?我不能在ChildJDialog
中实例化MainJDialog
,因为用户在MainJDialog
中输入一些信息到JTextArea1
,然后按下按钮调用ChildJDialog
。当ChildJDialog
来到屏幕MainJDialog
时,仍有填充的信息。我想访问这些组件以获取用户输入的文本。我知道我可以创建构造函数,将所需信息传递给ChildJdialog
,但我不想直接传递。我想在用户按下ChildJDialog
dinamically中的按钮时找到他们。