Cas*_*urr 1 java user-interface swing window parent-child
我想知道如何使用子窗口在父窗口中更改某些内容.所以,假设我有一个窗口,只需按一下按钮就可以打开一个弹出窗口.该新窗口包含一个JTextArea和另一个名为Ok的按钮.当按下确定按钮时,如何根据JTextArea中的内容更改父窗口的标题?
我看到它的方式,有两种常见的方法:
PropertyChangeListener,并且当该侦听器触发相应的事件时,父窗口将在对话框窗口中查询该信息.这将是使用Observer设计模式的一个示例.我更喜欢拉技术,因为它是父对象,它具有显示子窗口的代码并且需要来自子窗口的信息,它应该有代码来提取所需的信息,子窗口会需要不了解或引用父窗口对象.这对我来说似乎更清洁.
编辑: 请注意,对于您描述的示例,您可以使用JOptionPane轻松解决此问题.许多人不知道JOptionPanes可以显示非常复杂的GUI; 基本上任何可以放到JPanel上的东西都可以显示在JOptionPane中(然后是一些).您只需显示显示JTextField的JOptionPane,当程序流返回到调用程序时,只需获取JOptionPane中显示的JTextField所保存的文本.没有比这更简单的了.