java - SWT 窗口未在远程桌面中正确绘制 (Windows 7)

标签 java windows-7 swt remote-desktop

我们有一个 SWT 应用程序,它在按下按钮时执行耗时的计算,然后打开一个新窗口。计算是在 UI 线程中完成的(这不是很好,但它是一个遗留应用程序),因此在操作过程中窗口被卡住。通常,工作完成后,新窗口会正确重新绘制。但是,如果应用程序在 Windows 7 上运行,并且我使用 Windows 远程桌面连接到该计算机,则完成操作后,新窗口有时无法正确绘制。当我执行以下操作时会发生这种情况:

  • 按下计算按钮
  • 切换到与我的应用程序重叠的另一个窗口
  • 切换回我的应用程序(仍然没有响应)
  • 等待计算完成。
  • 新窗口打开,但内容绘制不正确。

最小化并恢复窗口后,重绘已正确完成。

一种解决方案是在远程桌面设置中设置最大详细信息。但这需要太多带宽。

我使用 SWT 版本 3.4.1、3.6.1 和 4.2.1 以及从 XP->Windows 7 以及 Windows 7->Windows 7 的远程连接进行了测试。

enter image description here

最佳答案

尝试使用paintListener、布局或重绘,并且您还必须知道将重绘放入图形线程(我指的是SWT 应用程序的主循环)中是一个很好的做法。

关于java - SWT 窗口未在远程桌面中正确绘制 (Windows 7),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13681493/

相关文章:

java - Hibernate - 如果没有关联,Hibernate 是否使用代理对象?

node.js - Gulp dest 在 Windows7 中不工作

java - CheckedTreeSelectionDialog 最初检查元素

java - Android 版本低于 2.2 的 org.w3c.dom.Node

java - 不可变类设计

java - Hibernate onetomany 中的外键未更新

MySQL 5.5 命令行客户端在 Windows 7 中忘记密码

python - Windows 上的 virtualenv 激活

基于 Java 的 Swing 浏览器应该支持 JavaScript

Java 和 SWT : Threads and Listeners