我通过从教科书中复制示例来学习Java,一旦我使用GUI类,我就遇到了一些奇怪的故障,如果这是正确的术语。正如您在图像上看到的那样,部分文本丢失了。
生成此对话框的代码也不复杂:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.Timer;
public class InnerClassTest {
public static void main(String[] args) {
TalkingClock clock = new TalkingClock(1000, true);
clock.start();
// keep program running until user selects "OK"
JOptionPane.showMessageDialog(null, "Quit program?");
System.exit(0);
}
}
class TalkingClock {
/*
* COnstructs a talking clock
* @param interval the interval between messages (in milliseconds)
* @param beep true if the clock should beep
*/
public TalkingClock(int interval, boolean beep) {
this.interval = interval;
this.beep = beep;
}
/*
* Start the clock.
*/
public void start() {
ActionListener listener = new TimePrinter();
Timer t = new Timer(interval, listener);
t.start();
}
private int interval;
private boolean beep;
class TimePrinter implements ActionListener {
@Override public void actionPerformed(ActionEvent event) {
Date now = new Date();
System.out.println("At the tone, the time is " + now);
if (beep) Toolkit.getDefaultToolkit().beep();
}
}
}
当我打开Java“控制面板”时,我得到了类似的故障。查看this image上的Java图标。 (这里也缺少一段文字。当前的标题标题应该是“Uppdatera”)
我没有在任何其他应用程序中遇到此问题,而且我正在运行Java平台的最新版本,这是我的Nvidia GeForce GT 630M的最新可用驱动程序。
您对我可以尝试解决的问题有任何建议吗?
答案 0 :(得分:2)
我遇到过这个问题,但我修好了! 我所做的就是在看完这个页面后,我决定查看我的显卡设置,我意识到了这一点 -
https://www.youtube.com/watch?v=UWu3dyXlbAM
检查我做了什么。我所做的只是去"管理3D设置"然后我点击了#34;查找"并添加了#14; Java 1.8.0_25 ...."并将其设置为使用nVidia高性能处理器。我想新Java只需要提示使用好的图形:D。
答案 1 :(得分:1)
我一直遇到和你一样的问题,我终于找到了解决方法。
与其他人评论一样,这是我的显卡驱动程序的一个问题(我有一个NVIDIA GeForce GT 640M)。我认为这不是一开始因为我有最新的驱动程序所以我尝试重新安装Java没有成功。最终我回滚了我的图形驱动程序(控制面板 - >设备管理器 - >显示适配器 - >(您的显卡名称) - >驱动程序(标签) - >回滚驱动程序(按钮))这解决了问题。我尝试更新到更新的版本,问题又回来了,所以它肯定是导致问题的新驱动程序。
答案 2 :(得分:1)
在显卡上禁用抗锯齿或FXAA;)
答案 3 :(得分:0)
好的,这是经过数小时研究后的简短回答,我希望它能帮助其他人不要撞墙:尝试禁用对 Java.exe 的屏幕显示支持(通过将其添加到列表中) RivaTuner Statistics Server(如果它在您的计算机上运行)。
在我的计算机上执行此操作立即使问题消失。