-1

Jpanelに次の画像を追加しています:msu-footprints.org/2011/Aditya/map.jpg

そしてポリゴンを追加します:

int[] x = new int[]{65, 122, 77, 20}; 
int[] y = new int[]{226, 258, 341, 310}; 
g.setColor(Color.RED); 
g.drawPolygon(x, y, x.length); 

ポリゴンはGERの構築と一致する必要がありますが、少しオフセットされています。私の教授は、座標は大丈夫だと言っています。画像の位置を設定する方法に問題はありますか?– </ p>

4

1 に答える 1

2

トップレベルコンテナ(JFrame)に直接ペイントすると、座標空間が正しくなくなり、フレームの境界線とメニューバーを考慮して、コンテンツペインが実際にオフセットされます。

これは、フレームのpaintメソッドのいずれかをオーバーライドするか、メソッドを使用した場合に発生しますgetGraphics

原点と(オフセット)コンテンツの座標を示すJFrame

カスタムコンポーネント(のようなものから拡張JPanel)を作成し、そのメソッドをオーバーライドしてpaintComponent、画像と長方形を直接レンダリングします。座標空間は正しくなります(上、左隅は0x0になります)

于 2012-10-25T22:05:17.123 に答える