Java中的swing绘图矩形显示像素异常
我有一个非常简单的java程序,可以画一个矩形,但是当我仔细检查渲染的形状时,我看到两个额外的像素,它们不应该在那里
您可以在左下方和右下方分别看到一个额外的像素
我使用的是64位Windows 7 Professional,使用的是JDK 1.8.0。这是节目单
import java.awt.Graphics;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class JavaBug {
public JavaBug() throws IOException {
JFrame frame = new JFrame();
frame.add( new JPanel() {
private static final long serialVersionUID = 1L;
public void paintComponent( Graphics g ) {
super.paintComponent(g);
g.drawRect(50, 50, 20, 20);
}
});
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible( true );
}
public static void main(String [] args) throws IOException {
new JavaBug();
}
}
# 1 楼答案
确认。我已经测试过了。这是一个Java8错误
# 2 楼答案
以便在任何人遇到这个问题时给出答案
问题似乎出在Java8的预发布版本上。这段代码适用于Java7
注意:这个结论来自评论部分,我没有给出答案。:-)