Java Swing over Remote Desktop - 奇怪的、奇怪的 GUI 压缩

ADT*_*DTC 5 remote-desktop java gui swing

我认为这个问题比 StackOverflow 更适合 SuperUser,因为它与实际的 Java 编程无关,尽管程序员可能更有可能遇到这个问题。无论如何,在我提出实际问题之前,让我先从一些统计数据开始:

笔记本电脑:

  • 视窗 7 x32
  • 屏幕分辨率 1024 x 768;英伟达 GeForce Go 6200
  • 通过 ad-hoc 无线网络连接到桌面
  • 通过桌面访问互联网

桌面:

  • 视窗 7 x64
  • 屏幕分辨率 1920 x 1080
  • 通过 ad-hoc 无线网络连接到笔记本电脑
  • 通过电缆调制解调器访问互联网

我正在通过远程桌面从我的桌面连接到我的笔记本电脑,以利用大屏幕。我正在我的笔记本电脑上进行编程(出于便携性原因)。由于两台计算机直接通过点对点无线连接,因此其他一切都可以通过远程桌面平稳快速地运行。

唯一的问题是:Java Swing 应用程序无法正确显示 GUI。我获得了一个 Java Swing 应用程序,我正在 Eclipse 中调试它。这是我运行应用程序时得到的:

在此处输入图片说明

显然,我正在调试的 GUI 应用程序似乎没有任何问题,因为Java 控制面板也出现了同样的问题。

我在谷歌上搜索了很多关于这个的信息;我最接近解决方案的是这个。但遗憾的是,使用-Dsun.java2d.nodraw=true根本没有效果。

这只发生在远程桌面上。我在本地尝试过,GUI 应用程序显示正常。这对我来说不是问题,因为我可以在开发 Java Swing 应用程序时停止使用远程桌面。但是,我想知道是否有人遇到过这种情况并找到了任何解决方案。

PS:所有涉及的软件(Eclipse、Java JRE等)都是最新版本。

小智 7

我遇到了同样的问题,更改颜色深度对我不起作用。这个:

-Dsun.java2d.d3d=false
Run Code Online (Sandbox Code Playgroud)

似乎对我有用:


小智 6

我只是在我的桌面和 RDP 客户端中将颜色更改为 32 位,Java 看起来很完美。


小智 3

我可以告诉你,过去,当通过远程桌面连接(例如 Eclipse)查看某些应用程序时,我必须将颜色深度设置为略低于最高设置。

关于Java VM 中可能存在的错误,请参阅此答案以获取更多信息。我非常怀疑这种情况,因为您还没有收到任何与无法创建 Java 虚拟机有关的错误消息......但它仍然值得检查!