2014-02-27 39 views
12

我有一个绘制一个矩形一个非常简单的Java程序,但是当我仔细检查所呈现的形状,我看到了两个额外的像素不应该在那里...绘制矩形在Java中显示像素异常

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

我正在使用Windows 7 Professional 64位使用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

也许包含截图? – Zong

+0

这很难看,但如果你放大它,像素脱颖而出 – Constantin

+1

你使用什么操作系统和Java版本? Windows 7,Java 6和7 - 没有问题 – MadProgrammer

回答

1

对于万一有人回答的缘故遇到这个问题

的问题似乎是与Java 8预发布版本。此代码可与Java 7一起正常工作。

注意:此结论摘自评论部分,我没有对答案做出贡献。 :-)

1

确认。我测试过了。这是一个Java 8的错误。

+0

谢谢,这是唯一可以确认的错误,因为其他人报告说他们看不到问题。 – Constantin