儿童框架呼叫父框架。代码设计

时间:2012-11-02 08:22:38

标签: java swing constructor jframe jdialog

我有一个代码设计问题。让我解释一下情景,然后解释问题。我有2个面板 enter image description here

基本上,点击开始的第一个面板打开第二个面板。在选择文件时的第二个面板上(背景蓝色)。该文件需要在第一个面板的编辑器窗格中打开。

问题是:做这件事的好习惯是什么。我的两个小组都是单独的类。目前,第二个面板保留对第一个面板的引用。在选择时,调用第一个类的相应方法来输出csv。这是一个糟糕的设计。 子帧如何刷新父帧的一个方面?

1 个答案:

答案 0 :(得分:2)

  • 使用JDialog(parent, modal)代替JFrame,可能取决于模态

  • 只创建JDialog一次,将此容器重新用于来自父级的另一个事件

  • JDialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE),然后,setVisible(true/false)

  • 中的所有后续操作仅约为invokeLater()
  • 然后返回(检查内容是否更改,更改回父级

  • 您可以通过JOptionPane("DYW to save changes ??"))

  • 中的用户操作进行验证