2017-05-03 177 views
-4

我试图绘制矩形在Java中像这样的画面:绘制矩形在Java中

enter image description here

我想象的坐标,因为我在数学做,但我想出了天翻地覆这就好比矩形这样的:

enter image description here

我知道我在想念短短things.What我应该怎么办? (颜色将被编辑)

public class BlockTower 
{ 
public static void main(String[] args) 
{ 

    Rectangle rect1 = new Rectangle(20, 70, 40, 30); 
    rect1.draw(); 
    rect1.setColor(Color.BLUE); 
    rect1.fill(); 

    Rectangle rect2 = new Rectangle(60, 70, 40, 30); 
    rect2.draw(); 
    rect2.setColor(Color.MAGENTA); 
    rect2.fill(); 

    Rectangle rect3 = new Rectangle(100, 70, 40, 30); 
    rect3.draw(); 
    rect3.setColor(Color.CYAN); 
    rect3.fill(); 

    Rectangle rect4 = new Rectangle(40, 100, 40, 30); 
    rect4.draw(); 
    rect4.setColor(Color.RED); 
    rect4.fill(); 

    Rectangle rect5 = new Rectangle(80, 100, 40, 30); 
    rect5.draw(); 
    rect5.setColor(Color.PINK); 
    rect5.fill(); 

    Rectangle rect6 = new Rectangle(60, 130, 40, 30); 
    rect6.draw(); 
    rect6.setColor(Color.BLUE); 
    rect6.fill(); 



    //TODO finish the draft to display the six blocks 
    } 
} 
+2

这与Android有什么关系? –

+0

据我所知,Android是基于Java的。 –

+1

@ S.Sahin你的问题可以归类为java问题,因为没有与android的连接。只是纯java代码。 – deadfish

回答

1

在Swing开始坐标从左上。这意味着你必须重新计算你的y坐标。所以你的面板的底部实际上是在当前的height

enter image description here

如果您计算出的东西是在坐标(x,y)它现在是在坐标(x, height - y)来代替。

+0

现在我明白了,谢谢。我需要问一些问题。我的问题出了什么问题?我在这里问问题并不舒服。当我发布一个新问题时,人们开始抱怨和下调。 –

+1

@ S.Sahin特别是这个问题的部分问题是,文档和可用教程将回答您的问题,或者至少为您提供足够的信息来确定问题的原因。关于您正在使用的API的信息也很少或根本没有,代码无法确定您是否使用第三方API,Swing,AWT,GWT或其他框架 – MadProgrammer