Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Swing组件在第二个屏幕上出现黑色错误_Java_Swing - Fatal编程技术网

Java Swing组件在第二个屏幕上出现黑色错误

Java Swing组件在第二个屏幕上出现黑色错误,java,swing,Java,Swing,我用JavaSwing开发了一个有点简单的GUI,出于某种原因,我看到了一些可怕的行为 在一台计算机上,当在笔记本电脑自己的屏幕上打开swing窗口时,它看起来正常,但当移动到第二个屏幕时,它会变成完全黑色,即使它部分在一个屏幕上,部分在另一个屏幕上,它也会正确地显示在笔记本电脑屏幕上,另一个屏幕上显示为黑色 即使我有三个屏幕,我也无法在自己的电脑上复制它,所以我想问问是否有其他人有过类似的经历 其中一个原因可能是笔记本电脑和第二个屏幕有不同的颜色深度,这会弄乱它 任何关于它发生的原因和解决方案

我用JavaSwing开发了一个有点简单的GUI,出于某种原因,我看到了一些可怕的行为

在一台计算机上,当在笔记本电脑自己的屏幕上打开swing窗口时,它看起来正常,但当移动到第二个屏幕时,它会变成完全黑色,即使它部分在一个屏幕上,部分在另一个屏幕上,它也会正确地显示在笔记本电脑屏幕上,另一个屏幕上显示为黑色

即使我有三个屏幕,我也无法在自己的电脑上复制它,所以我想问问是否有其他人有过类似的经历

其中一个原因可能是笔记本电脑和第二个屏幕有不同的颜色深度,这会弄乱它


任何关于它发生的原因和解决方案的指示都是非常受欢迎的。

我只是在我的辅助监视器上尝试使用Freemind时看到了同样的行为。快速的谷歌搜索似乎表明这是一个Java bug。 更多背景:

JRE 1.8.0_121最新版本 视窗10 无论第二个监视器是配置在主监视器的左侧还是右侧,都会发生错误,因此可能不会出现负屏幕坐标问题 真正令人毛骨悚然的是,如果我将窗口拖到辅助监视器上的速度足够慢,FreeMind会正确显示,因此可能存在与刷新率相关的问题。 当我将窗口从一个监视器移动到另一个监视器时,窗口的大小会明显调整,因此,问题可能与每个监视器上设置的缩放因子(主监视器为125%,次监视器为100%)有关 希望这有帮助

注:这应该是一个评论,而不是一个答案,但我还没有足够的信誉点

2018年4月编辑:
对于那些仍然在这个问题上结结巴巴的人来说:在同一台电脑上,经过一些软件更新后,这个bug已经消失了。我现在运行的是JRE 1.8.0_144,Windows 10 Pro 1709 build 16299.371。我的最佳选择是Windows更新修复了这个问题;对于传统的/Java应用程序JMeter,Gimp,窗口大小调整和缩放因子现在比一年前工作得更好。

我在apache-JMeter-r1839892每晚构建JMeter 5时遇到了这个问题,我的环境信息如下:

JRE 1.8.0_101 32位 windows 10,版本1607构建14393.1944。 InterR高清图形530 NVIDIA Quadro M1000M 升级到JDK 10.0.2 64位后,它就可以工作了

我的根本原因很可能是: 上面链接中提到的以下解决方案也适用于JRE 1.8.0_101 32位

启动->控制面板->系统 单击高级选项卡 单击环境变量按钮 单击“新建”按钮 对于变量名:_JAVA_选项 对于变量值:-Dsun.java2d.d3d=false 我还找到了另一种解决方法:打开jmeter,将第二个监视器设置为Windows中的主显示器,然后将第一个监视器切换回主显示器


我还尝试升级到JDK 1.8.018164位,问题依然存在。

这可能是视频卡/驱动程序/操作系统的问题,如果是窗口,您可以尝试修改一些,看看这是否有助于查看我的解决方案哦,我想这肯定是一个答案,如果它真的是一个bug,特别是如果你能指出具体的JRE错误,我同意它不能回答这个问题,但正如我所指出的,我没有足够的信誉点来对原始问题添加评论。希望我的帖子1显示这个bug已经被复制,2给出了一些关于什么可能导致或者不导致它的指针,3帮助OP找出他的bug的来源。我得到了这个bug,尽管所有的DPI设置都是100%。