当前位置: 首页 > 知识库问答 >
问题:

如何在 Swing 中丢失调用调用帧控制的 j内部帧

丌官晔
2023-03-14

我正在给ABC jINternalFrame打电话,从XYZ jINternalFrame在SWING。

但是当我调用ABC时,我失去了XYZcontrol

我想要的是

-在XYZ上,用户选择加载产品数据的选项。
-如果发现不匹配,XYZ调用ABC
-在ABC中-用户更正不匹配并关闭ABC框架
现在,我希望我的程序应该从它调用ABC的位置继续

目前它调用美国广播公司和XYZ得到执行,我如何才能实现这一点?我使用下面的代码

if (frmUpdateData == null || frmUpdateData.isClosed()){ 
  frmUpdateData = new FrmUpdateData(); 
  JDesktopPane desktopPane = getDesktopPane(); 
  desktopPane.add(frmUpdateData); 
  frmUpdateData.setVisible(true); 
  frmUpdateData.setLocation(this.getWidth()/2- frmUpdateData.getWidth()/2, this.getHeight()/2-frmUpdateData.getHeight()/2); 
}

共有1个答案

马庆
2023-03-14

显示使用模式对话框:

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

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

如果你不想使用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

 类似资料:
  • 我正在尝试使用< code>Auth::user()- 我已经检查并包含了所需的文件,我正在从用户表中获取用户 我在调用变量并将其发布到控制器函数中的DB时遇到问题。任何帮助都可以。 将User表中的User发布到Tokens表的中,以便我可以使用模型 出现此错误: SQLSTATE[23000]:完整性约束冲突:19非空约束失败:令牌。user_id(SQL:插入“令牌”(“token1”、“t

  • 问题内容: 在Laravel 4中我只使用了一个函数 从我的秃头模板(查看页面)调用控制器功能。现在我正在使用Laravel 5做一个新项目,我尝试了这种方法从刀片模板中调用控制器函数。但是它不起作用并显示了一些错误。是否有任何方法可以从Laravel 5的视图页面中调用控制器函数? 问题答案: 如果您有一个要在多个地方使用的功能,则应在helpers文件中对其进行定义,要在app / Http

  • 问题内容: 如何从网页的任何位置(控制器组件外部)调用控制器下定义的函数? 当我按下“获取”按钮时,它可以完美运行。但是我需要从div控制器外部调用它。逻辑是:默认情况下,我的div是隐藏的。在导航菜单中的某个位置,我按了一个按钮,它应该显示()我的div并执行“获取”功能。我该如何实现? 我的网页是: 我的js: 问题答案: 这是从外部调用控制器功能的一种方法: 您的控制器的功能在哪里。 你可以

  • 假设我有一个名为的扩展,my_extension一个名为的插件。 然后,我的控制器中有一个名为的函数。 如何通过通常的http GET请求从外部调用此?

  • 这个包的主要用途就是在 API 内部执行请求。它允许你在可用的 API 基础上构建你的应用。内部请求也可以返回原始数据,而不是原始响应对象,这意味着你可以获得与之相关的所有语法糖。 我们需要构建一个分发器实例来发起内部请求。 $dispatcher = app('Dingo\Api\Dispatcher'); 我们现在可以用标准的 HTTP 进行内部请求. Route::get('/', func