我有一个非常简单的java程序,它绘制一个矩形但是当我仔细检查渲染的形状时,我看到两个不应该存在的额外像素......
您可以在左下角看到一个额外的像素,在右下角看到一个像素。
我使用的是使用JDK 1.8.0的Windows 7 Professional 64-BIT。这是程序......
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();
}
}
答案 0 :(得分:1)
为了得到答案,如果有人遇到这个问题
问题似乎与Java 8预发布版本有关。此代码适用于Java 7。
注意:这个结论来自评论部分,我没有为答案做出贡献。 : - )
答案 1 :(得分:1)
确认。我已经测试过了。它是一个Java 8 Bug。