Java Swing图形故障?

时间:2014-05-21 10:29:07

标签: java swing user-interface graphics visual-glitch

Image of the glitch
enter image description here

我通过从教科书中复制示例来学习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”) enter image description here

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

您对我可以尝试解决的问题有任何建议吗?

4 个答案:

答案 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(如果它在您的计算机上运行)。

在我的计算机上执行此操作立即使问题消失。