1

ユーザーからの座標を受け取り、画面上に星 (*) でいくつかの図形を描画するプログラムを作成しています。

例: Rectangle (つまり、rectangle = 100,150,50,50 as x,y,width,height)。どうすればできますか??

4

5 に答える 5

1

このチュートリアルはあなたにとって非常に役立つと思います: http://download.oracle.com/javase/tutorial/2d/geometry/primitives.html

于 2010-12-20T19:33:55.407 に答える
1

「星で描く」とは?これが等幅フォントのテキスト モードである場合は、正しい長さを計算して星の水平線で印刷する必要があります。長方形の場合は簡単ですが、三角形の場合は少し難しく、五角形は長方形といくつかの三角形を組み合わせたものです。インスピレーションについては、ブレゼンハム アルゴリズムを参照してください。

また、テキスト モードの解像度が非常に低いことにも注意してください。標準の端末ウィンドウの幅はわずか 80 文字であり、200 ~ 300 文字よりもはるかに広くすることはほとんどできないため、正しい丸めが重要です。

于 2010-12-20T19:38:07.980 に答える
0

長方形だけの場合は、ペイントメソッドに次のように入力すると機能するはずです...

int xIncrement = (int)g.getFont().getStringBounds("*", null).getWidth();  
int yIncrement = (int)g.getFont().getStringBounds("*", null).getHeight(); 
for(int i = y; i < y + height; i += xIncrement)  
    for(int j = x; j < x + width; j += yIncrement)
        g.drawString("*", j, i);  

三角形やその他の形状の場合は少し難しいですが、ポイントを区切る線の勾配を把握できるため、各線の最初のxを取得できます。

一般的に、「星の描画」は避けてください...

于 2010-12-20T19:46:15.380 に答える
0

GUI について言及していない限り、Y 座標は「スキップ」しなければならない行の量であり、x 座標は行に入力したスペースの量に似ています。

したがって、基本的に x = 2 および y = 3 は、3 行下に移動し、右に 2 スペース移動する必要があることを意味します。

于 2010-12-21T20:14:31.577 に答える
0

以下はjavadocから

x - この Rectangle の左上隅の新しい x 座標 y - この Rectangle の左上隅の新しい y 座標

于 2010-12-21T20:10:40.850 に答える