Java 如何在一个帧中获取用户输入,在另一个帧中获取输出?

Java 如何在一个帧中获取用户输入,在另一个帧中获取输出?,java,jframe,opendialog,Java,Jframe,Opendialog,我们用两个窗口编程了一个游戏:主菜单和操场。当您单击主菜单中的“开始”时,Playfield将打开。在主菜单中有2个JTextField,两名玩家可以在其中输入他们的姓名。目前,2个JTextfields没有任何功能 现在的问题是:我们想要得到这个名字,我们想要存储它们,直到有人赢了,赢了之后我们想要在对话框中输出类似“xy赢了”的东西。我们如何在两个窗口中实现这一点?窗口只是您的视图,用于向用户呈现/获取一些信息。 您需要将在主菜单中输入的数据存储在某个模型类M中,这两个框架都可以访问。文本字

我们用两个窗口编程了一个游戏:主菜单和操场。当您单击主菜单中的“开始”时,Playfield将打开。在主菜单中有2个JTextField,两名玩家可以在其中输入他们的姓名。目前,2个JTextfields没有任何功能


现在的问题是:我们想要得到这个名字,我们想要存储它们,直到有人赢了,赢了之后我们想要在对话框中输出类似“xy赢了”的东西。我们如何在两个窗口中实现这一点?

窗口只是您的视图,用于向用户呈现/获取一些信息。
您需要将在主菜单中输入的数据存储在某个模型类M中,这两个框架都可以访问。

文本字段在哪个框架中以及要在哪个框架中打印输出都无关紧要-组件层次结构(即哪个组件在哪个容器中)与处理输入和输出无关

在这种情况下,您必须收听一个事件,该事件告诉您
JTextFields
已收到输入。这可能是

  • JTextFields
  • 使用支持
    JTextField
    (即
    textfield.getDocument().addDocumentListener(…)
    )的文档注册的
    DocumentListener
    中的changedUpdate/insertUpdate/removeUpdate事件
  • 来自
    JButton
    的ActionEvent的操作事件,用户单击该按钮确认其输入

收到该事件后,从JTextfield中检索文本,将其存储在适当的变量/字段中,然后使用它填充对话框中显示的文本消息。

我认为您需要对“模型视图控制器”进行一些研究,以更好地理解如何在类之间共享数据