Java中的绘图矩形显示像素异常

时间:2014-02-27 04:22:02

标签: java swing

我有一个非常简单的java程序,它绘制一个矩形但是当我仔细检查渲染的形状时,我看到两个不应该存在的额外像素......

enter image description here 您可以在左下角看到一个额外的像素,在右下角看到一个像素。

我使用的是使用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();
        }
    }

2 个答案:

答案 0 :(得分:1)

为了得到答案,如果有人遇到这个问题

问题似乎与Java 8预发布版本有关。此代码适用于Java 7。

注意:这个结论来自评论部分,我没有为答案做出贡献。 : - )

答案 1 :(得分:1)

确认。我已经测试过了。它是一个Java 8 Bug。