有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我有一个非常简单的java程序,可以画一个矩形,但是当我仔细检查渲染的形状时,我看到两个额外的像素,它们不应该在那里

enter image description here 您可以在左下方和右下方分别看到一个额外的像素

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

共 (2) 个答案

  1. # 1 楼答案

    确认。我已经测试过了。这是一个Java8错误

  2. # 2 楼答案

    以便在任何人遇到这个问题时给出答案

    问题似乎出在Java8的预发布版本上。这段代码适用于Java7

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