从 swingWorker 处理框架

2023-12-05

实际上我已经从框架(假设)A 中调用了 Swing Worker ..在 do-in-Background 方法中的 Swing Worker 类中我有某些数据库查询,并且我也调用了 Frame B ..在 did() 方法中但是我想要处置框架 A..我该怎么做..?我无法在框架 A 类中编写 dispose() ,因为这会导致在新框架(框架 B)可见之前处理框架...请帮忙!

class frameA extends JFrame{
public frameA(){
//done some operations..
SwingWorker worker=new Worker();
       worker.execute();

}
public static void main(string[] args){
  new frameA();
}

}

而在工人阶级

class Worker extends SwingWorker<Void, String> {



public Worker() {
    super();


}

//Executed on the Event Dispatch Thread after the doInBackground method is finished
@Override
protected void done() {
    //want to dispose the frameA here..


}

@Override
protected Void doInBackground() throws Exception {
    // some db queries
  new frameB().setVisible(true);  
  // call to frameb
}

  1. The done()的方法SwingWorker通常会被覆盖以显示最终结果。之上 的完成doInBackground(), 这SwingWorker自动调用done()在东部夏令时间。因此,将框架的不可见和可见代码放入此函数中。

  2. The doInBackground()并不意味着执行任何 GUI 渲染任务。您可以调用publish(V) from doInBackground()函数依次调用process(V)方法在 EDT 内运行并执行 GUI 渲染任务。

所以示例解决方案是:

class Worker extends SwingWorker<Void, String> {

  JFrame frameA;

  public Worker(JFrame frameA) {
    this.frameA = frameA;

  }

  @Override
  protected void done() {
    frameA.dispose();
    new frameB().setVisible(true); 

  }
  //other code
}

现在,创造你SwingWorker通过将目标框架传递给它的构造函数来实例化:new Worker(frame);对于您的上下文,您可能可以利用this

但是,您不应该真正将应用程序设计为依赖于多个JFrame。不使用多个是有原因的JFrame窗户。有关更多信息,请参阅多个 JFrame 的使用,好/坏实践?。需要多个框架的用例的一般解决方法是在这里解释。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 swingWorker 处理框架 的相关文章

随机推荐

  • CSS - 属性前的“#”符号[重复]

    这个问题在这里已经有答案了 可能的重复 以井号 开头的 CSS 属性有效吗 我尝试在 Stackoverflow com 上查找 但找不到与我的问题相关的任何内容 尽管雅虎上有答案 但开放网络也好不到哪去 回答 答案 除了 用于 ID 当然
  • 如何使用 perl 将第 n 行写入文件

    我在一个文件中有一个源文本 并正在寻找一个代码 该代码将从该文件中获取第二行 或通常是第 n 行 并打印到单独的文件中 知道如何做到这一点吗 您可以在 Perl 中使用以下命令本地执行此操作触发器运算符和特殊变量 内部使用 其中包含当前行号
  • Haskell 中类型别名的 Derive Eq 和 Show

    我有以下类型别名 data Bindable Const Value Variable Location Func Function Proc deriving Eq Show type Function Argument gt Store
  • Windows 中是否有屏幕调整大小事件

    我有一个简单的应用程序 当我连接到扩展坞时 它会更改数字锁定状态 问题是我不知道如何检测第二个显示器何时连接 和断开连接 因此我只在连接后设置状态 所以我正在寻找 Screen Resize 事件或类似事件 我正在使用 Windows 7
  • 如何使用 makefile 激活 virtualenv?

    在我的 makefile 的顶部有这样一行 SHELL bin sh 大多数命令都需要它 但是 我还想有一个 make 命令来激活我的虚拟环境 它位于不同的路径上 这是我为其编写的代码 activate source envs APP bi
  • Facebook 应用程序被重定向出画布视图

    我正在使用 iframe 从我的服务器渲染我的应用程序 问题是 一旦我单击应用程序中的链接 我就会被重定向到我的服务器 我的意思是 我在画布页面上停留了一秒钟 然后突然我不再在 Facebook 网站上的 iframe 中查看它 而是重定向
  • 三元运算符 VB 与 C#:为什么将 Nothing 解析为零? [复制]

    这个问题在这里已经有答案了 我只是搬起石头砸自己的脚 想知道是否有真正的原因导致这种情况成为可能 不管怎样 这个问题可以留下来 以方便未来的足射手 假设我们在 vb net 中有一个可为空的值 Dim i as Integer 我们想根据条
  • 返回字符串的 Junit 测试函数

    我在类中有一个函数 public String covertToLowerCase String sliceName sliceName sliceName trim toLowerCase sliceName sliceName repl
  • 在 pandas 数据帧上创建滚动自定义 EWMA

    我正在尝试在 df 的最后 13 个值上创建一个滚动 EWMA 其衰减 1 ln 2 3 如下 factor Out 36 EWMA 0 0 043 1 0 056 2 0 072 3 0 094 4 0 122 5 0 159 6 0 2
  • 识别给定应用程序池的 w3wp System.Diagnostics.Process

    我的服务器上运行的网站很少 我的应用程序中有一个 诊断 页面 显示内存量对于当前进程 非常有用 现在这个应用程序已 链接 到另一个应用程序 我希望我的诊断页面能够显示另一个 w3wp 进程的内存量 为了获取内存量 我使用一个简单的代码 va
  • Webapi odata 通过实体框架功能进行扩展

    我有一个产品 odata 控制器和一个产品类别 odata 控制器 它们都使用实体框架实体 并具有用于 odata 扩展的导航方法 两者的扩展工作正常 现在 我在实体框架中添加了一个存储过程来操作从数据库返回的数据 并仍然返回 产品 记录
  • 何时使用 Task.Run、何时使用 async-await 以及何时组合使用它们

    我读过很多帖子 但仍然无法区分所有这些 我所能理解的是 Task Run 将调用后台线程 async await 是异步编程 Task Run 是否意味着后台线程将表现为阻塞线程 尝试从互联网下载多个大图像 我应该如何组合使用这些关键字以及
  • Electron:初始化前无法访问对话框

    我有一个渲染器文件 其唯一目的是打开一个对话框以从中选择文件 我已经尝试重写这个很多次了 每次我都会遇到不同的错误 我究竟做错了什么 确切的代码 const ipcRenderer shell remote require electron
  • AFNetworking (AFJSONRequestOperation) 转换为 AFHTTPClient

    我有以下运行良好的代码 但我需要对其进行更多控制 尤其需要在 0 9 中开始使用 Reachability 代码 NSString urlString NSString stringWithFormat http example com A
  • 无法读取未定义的属性“nativeElement” - ngAfterViewInit

    我正在尝试使用添加 剪贴板 指令这个例子 该示例现在已经过时 因此我必须更新它获取 nativeElement 的方式 我收到错误 无法读取未定义的属性 nativeElement 我在代码中用 剪贴板 directive js impor
  • 无法创建实体数据模型 - 使用 MySql 和 EF6

    我正在尝试将 edmx 实体模型添加到 Visual Studio 2013 中的 C Web 项目 我的问题是未创建该文件 我执行以下步骤 给该项目一个名称 选择 来自数据库的 EF 设计器 从下拉列表中选择已测试成功连接到 MySQL
  • 静态内联、外部内联和普通内联函数有什么区别?

    和有什么区别static inline extern inline和一个正常的inline功能 我看到过一些对此的模糊解释 据我了解 static inline不只是一个inline函数仅在某个文件中被称为static关键字通常意味着 同样
  • php的socket连接代码

    我正在编写一个简单的 php 套接字代码 这是我的代码
  • 如何对长字符串执行 preg_replace

    我希望能够找到并替换一长行 JavaScript 代码 代码中也有很多 和 这可能吗 您可以手动修改限制 以便 PHP 将允许您处理非常长的字符串 在调用 preg replace 之前将以下行放在某处 ini set pcre backt
  • 从 swingWorker 处理框架

    实际上我已经从框架 假设 A 中调用了 Swing Worker 在 do in Background 方法中的 Swing Worker 类中我有某些数据库查询 并且我也调用了 Frame B 在 did 方法中但是我想要处置框架 A 我