如何从jInternalFrame中调用JinternalFrame,同时在Swing中丢失调用帧控件

时间:2016-10-04 12:18:06

标签: java swing jinternalframe

我在SWING中从XYZ jInternalFrame调用ABC jINternalFrame。

但是当我打电话给ABC时,我正在失去XYZcontrol

我想要的是

- 在XYZ用户选择加载产品数据的选项
-IF不匹配发现XYZ调用ABC
- 在ABC-用户正确的不匹配并关闭ABC框架
现在我希望我的程序应该从它所谓的ABC

继续

目前它调用ABC和XYZ执行如何才能实现这一目标? 我正在使用下面的代码

title

1 个答案:

答案 0 :(得分:-1)

您显示使用模态对话框:

final JDialog frame = new JDialog(parentFrame, frameTitle, true);
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);

当您显示模态对话框时,调用模态的代码正在等待关闭模式对话框以继续执行。它就像JavaScript中的alert

如果你 wana使用JDialog,你可以试试这个:

    JInternalFrame frmUpdateData = null;
    frmUpdateData = new JInternalFrame("Test", true, true);
    frmUpdateData.setBounds(0, 0, 200, 200);
    JDesktopPane desktopPane = new JDesktopPane();
    desktopPane.setBounds(0, 0, 600, 600);
    desktopPane.add(frmUpdateData);
    desktopPane.setVisible(true);
    frmUpdateData.setVisible(true);
    JFrame frame = new JFrame();
    frame.setBounds(0, 0, 600, 600);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(desktopPane);
    frame.setVisible(true);
    while (frmUpdateData != null && !frmUpdateData.isClosed()) {
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    JOptionPane.showMessageDialog(null, "Done");

参考:Stackoverflow