Java Swing graphics glitch?
Image of the glitch
I am learning Java by reproducing examples from a textbook and as soon as I got to using the GUI classes I experienced some weird glitches, if that is the correct term. As you can see on the image, parts of the text are missing.
The code generating this dialog isn't complicated either:
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();
}
}
}
I get similair glitches when I open the Java "control panel". Look at the Java icon on this image. (A piece of text is missing here as well. The current tab title should be "Uppdatera")
I am not experiencing this issue in any other application and I am running an up-to-date version of the Java platform the latest available drivers for my Nvidia GeForce GT 630M.
Do you have any suggestion on things I can try to solve this?
I had ran into this problem but I fixed it! All I did was after looking at this page, I went and decided to check my graphic card's settings, and I realized this -
https://www.youtube.com/watch?v=UWu3dyXlbAM
Check that for what I did. All I did was go to "Manage 3d Settings" and I clicked "Find" and added "Java 1.8.0_25...." and set it to use nVidia High Performance Processor. I guess new Java just needs a prompt to use the good graphics :D.
I have long had the same problem as you and I finally found out how to fix it.
Like others have commented, it was a problem with my graphics card driver (I have a NVIDIA GeForce GT 640M). I thought it wasn't at first since I had the latest driver so I tried reinstalling Java with no success. Eventually I rolled back my graphics driver (Control Panel -> Device Manager -> Display Adapters -> (your graphics card name) -> Driver (Tab) -> Roll Back Driver (Button)) and this solved the problem. I tried updating to the newer version and the problem came back so it is definitely the newer driver that was causing the issue.
禁用图形卡上的抗锯齿或FXAA;)
链接地址: http://www.djcxy.com/p/79286.html上一篇: 从json数组中获取特定的键
下一篇: Java Swing图形故障?