使用java创建一个House

时间:2015-10-26 22:46:13

标签: java awt

好吧,我想知道三件事情,所以现在我的房子背景是白色的,我如何让它成为蓝色和绿色的草底部分。我的线路向下,如何向东北方向移动以制作房屋天花板的三角形?关于添加一棵树的最后一件事我是做了一堆弧来获得"灌木的曲线"这棵树?

import java.awt.Color;
import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Polygon;

public class House extends Canvas {
    public House() {
        setBackground(Color.WHITE);
    }

    public void paint(Graphics window) {
        window.setColor(Color.BLUE);
        window.drawRect(250, 300, 50, 125);
        window.fillRect(350, 300, 50, 135);
        window.setColor(Color.PINK);
        window.drawRect(200, 150, 350, 300);
        window.fillRect(200, 150, 350, 300);
        window.setColor(Color.GREEN);
        Polygon poly = new Polygon();
        poly.addPoint(100, 200);
        poly.addPoint(200, 400);
        poly.addPoint(300, 200);
        window.fillPolygon(poly);
    }
}

1 个答案:

答案 0 :(得分:3)

  

如何使草底部分为蓝色和绿色

请勿使用“魔术”数字,使用绝对已知值,例如getWidthgetHeight,例如:

window.setColor(Color.BLUE);
window.fillRect(0, 0, getWidth(), getHeight() / 2);

window.setColor(Color.GREEN);
window.fillRect(0, getHeight() / 2, getWidth(), getHeight() / 2);
  

我的线路向下,如何向东北方向移动以制作房屋天花板的三角形?

这正是你告诉它的,记住,上/左角是0x0,意思是坐标随着向右/向下移动而增大

Polygon poly = new Polygon();
poly.addPoint(100, 200);
poly.addPoint(200, 100);
poly.addPoint(300, 200);
  

关于添加树的最后一件事我是否制作了一堆弧来获得树的“灌木曲线”?

您可以使用Graphics#fillOvalGraphics#drawArc

来使用一系列重叠椭圆

我强烈建议您在使用Graphics时查看2D Graphics的技巧和想法。

我还建议您查看Painting in AWT and SwingPerforming Custom Painting,了解绘画在AWT / Swing中的实际效果