Java Swing图形故障?

use*_*280 7 java graphics user-interface swing visual-glitch

故障的图像
在此输入图像描述

我通过从教科书中复制示例来学习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();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我打开Java"控制面板"时,我得到了类似的故障.查看此图像上的Java图标.(这里也缺少一段文字.当前的标题标题应为"Uppdatera")
在此输入图像描述

我没有在任何其他应用程序中遇到此问题,我正在运行最新版本的Java平台,这是我的Nvidia GeForce GT 630M的最新驱动程序.

对于我可以尝试解决的问题,您有什么建议吗?

小智 1

我和你有同样的问题很久了,我终于找到了解决方法。

正如其他人评论的那样,这是我的显卡驱动程序的问题(我有 NVIDIA GeForce GT 640M)。我一开始以为不是这样,因为我有最新的驱动程序,所以我尝试重新安装 Java,但没有成功。最终我回滚了我的显卡驱动程序(控制面板 -> 设备管理器 -> 显示适配器 -> (您的显卡名称) -> 驱动程序(选项卡) -> 回滚驱动程序(按钮)),这解决了问题。我尝试更新到较新的版本,但问题又出现了,因此肯定是较新的驱动程序导致了问题。