gpt4 book ai didi

java - 在打开新的 java swing 之前关闭旧的对话框

转载 作者:行者123 更新时间:2023-12-01 23:04:27 25 4
gpt4 key购买 nike

请大家帮帮我,我用 java-swing 创建了一个记事本。但我有一个问题。每当我使用 Action 事件(替换、查找)时,程序都会将其显示在屏幕上,而我再次使用 Action 事件时,它会在屏幕上显示另一个事件,但不会关闭旧的事件。

private void replaceController(MainForm mainForm) {
mainForm.getReplace().addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ReplaceForm replaceForm = new ReplaceForm(mainForm, false);
replaceForm.setVisible(true);
replaceForm.getBtnReplace().setEnabled(false);
replaceForm.getBtnReplaceAll().setEnabled(false);



ReplaceController replaceController = new ReplaceController();
replaceController.checkEmptyReplace(replaceForm);
replaceController.replace(mainForm, replaceForm);
replaceController.f(mainForm, replaceForm);
replaceController.replaceAll(mainForm, replaceForm);
replaceController.cancelReplace(replaceForm);
}
});

}

最佳答案

关注default close operation您应用于顶级 JFrame 或 JDialog。

如果您希望框架只是隐藏而不被丢弃,请使用HIDE_ON_CLOSE。当您希望它再次显示在屏幕上时,请将其设置为visible。这意味着您需要框架的唯一实例。

如果您希望将其释放(看起来像这样,因为每次调用操作时都会构造一个新的),请使用DISPOSE_ON_CLOSE。然后每次用户关闭框架时它都会被销毁。

关于java - 在打开新的 java swing 之前关闭旧的对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58408650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com