2014-02-27 6 views
12

Ich habe ein sehr einfaches Java-Programm, das ein Rechteck zieht, aber wenn ich die gerenderte Form genau prüfen, sehe ich zwei zusätzliche Pixel, die nicht da sein sollten ...Drawing Rectangle in Java Zeigt Pixel Anomaly

enter image description here Sie können ein zusätzliches Pixel unten links und eins unten rechts sehen.

Ich verwende Windows 7 Professional 64-Bit mit JDK 1.8.0. Hier ist das Programm ...

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

Vielleicht einen Screenshot hinzufügen? – Zong

+0

Es ist schwer zu sehen, aber wenn Sie es vergrößern, stehen die Pixel – Constantin

+1

Welche OS und Java-Version verwenden Sie? Windows 7, Java 6 & 7 - keine Probleme – MadProgrammer

Antwort

1

Aus Gründen einer Antwort, falls jemand über diese Frage

Das Problem mit dem Java 8 Pre-Release-Version zu sein schien kommt. Dieser Code funktioniert gut mit Java 7.

Hinweis: Diese Schlussfolgerung wurde aus dem Kommentarabschnitt übernommen und ich trug nicht zur Antwort bei. :-)

1

Bestätigt. Ich habe es getestet. Es ist ein Java 8 Bug.

+0

Danke, dies ist die einzige Bestätigung des Fehlers, da andere gemeldet haben, dass sie kein Problem sehen. – Constantin