在Java中的Rectangle上绘制三角形

时间:2015-07-20 15:01:40

标签: java

超级新手在这里。我试图在我绘制的矩形顶部绘制一个三角形,但它没有出现。我知道它存在,因为当我删除2个矩形并将颜色更改为黄色或其他东西时,它会出现。我还需要将星星和太阳放在三角形的顶部......是的它是一面旗帜。我不是要求确切的代码。新手的提示将不胜感激。请帮忙!

import java.awt.*;
import java.awt.Polygon;
import java.awt.Graphics;
import javax.swing.*;

public class FlagShapes extends JPanel {

    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        this.setBackground(Color.WHITE);

        //triangle of the flag
        int[] xPoints={75, 75, 130};
        int[] yPoints={75, 185, 130};
        int nPoints=3;
        g.setColor(Color.WHITE);
        g.fillPolygon(xPoints, yPoints, nPoints);

        //blue part of the flag
        g.setColor(Color.BLUE);
        g.fillRect(75, 75, 200, 55);

        //red part of the flag
        g.setColor(Color.RED);
        g.fillRect(75, 130, 200, 55);

        //pole drawing
        g.setColor(Color.BLACK);
        g.fillRect(72, 75, 2, 300);

    }

}

1 个答案:

答案 0 :(得分:0)

所以我找到了我的问题的答案(感谢雅虎)Java的默认渲染方法使用光栅化。只需在同一位置绘制两个形状即使它们重叠,Java也会绘制两个形状。无论先抽出哪一个,都会在'之下。无论哪一个被吸引。