我遇到了一个奇怪的java问题 - 由于某种原因,当我打开一个对话框时它会变成黑色。当我强制重新绘制(例如,将其重新拉出并重新进入屏幕)时,它再次正常地绘制自己。 问题似乎只发生在我的计算机上(相同的代码适用于朋友),它不仅仅是一个类 - 似乎我打开的几乎每个对话框(在不同的项目上)都会遇到这个问题。甚至JOptionPane.showMessageDialog()也会遇到这个问题。 甚至更奇怪,它甚至发生在我打开java控制面板时! 我能做什么?它让我疯狂! 如果重要的是我在Windows 7上运行,我的GPU是ATI HD4800,安装了最新的CATALYST驱动程序。 提前谢谢!
答案 0 :(得分:2)
在使用Windows 7 64位的ATI Radeon HD 5670上发生了我的事。
解决方案是使用Catalyst Control Center,并将抗锯齿和各向异性过滤转为“使用应用程序设置”,而不是默认的“覆盖应用程序设置”。
这有效地关闭了Java应用程序上的这些功能,而不再是黑屏!
答案 1 :(得分:1)
如果相同的代码在您的朋友计算机中有效,但在您的计算机中无效,则问题出在您的计算机上。
但是在决定卸载Windows之前不要放弃尝试一些事情:
1-即使您使用repaint(),update或revalidate()等方法,也要确保它不起作用
2-此时必须存在与兼容性相关的一些问题。
- 尝试更新窗口
- 也可以更新到最新的java版本
3-继续在这里寻找你的答案是另一个有类似问题的问题 Java applications with Windows 7 - are there compatibility concerns?
4-也许原因是Windows 7.我的大学里有一些大学,在他们的笔记本电脑中使用Windows 7(64位)的编程主题有类似的问题。 他们中的一些人现在使用XP而其他人使用Vista,他们没有那些问题。
祝你好运!答案 2 :(得分:1)
一般来说,我见过的关于java闪烁,黑色窗口等的所有问题都在ATI卡上。即使我在HD3450和Win7 64位上遇到问题。
另见: https://superuser.com/questions/266332/flickering-java-application-gui-on-windows-7
答案 3 :(得分:1)
在最近的ati驱动程序更新后,我遇到了黑色控制问题(2013年是我最大的惊讶);是什么帮助我禁用2d / d3d加速:
java -Dsun.java2d.d3d=false -jar whatever.jar