0

ポリゴンを新しい場所にコピーする方法を教えてください。以前はe.isPopupTrigger()ポリゴンを選択していましたが、コピーする方法がわかりません。コピーの機能は翻訳の機能に似ていますか? 例: polygon.translate(x,y)?

ありがとう。

編集:

//このコードは機能しません:-(

if(e.getSource() == Copy){  
  Polygon copyPolygon = new Polygon();
  copyPolygon = selectedTriangle;
  copyPolygon.translate(2, 2);
  repaint();
}

問題はこれらのコードで解決されました:-)

if(e.getSource() == Copy){    
  Polygon copyPolygon = new Polygon(selectedTriangle.xpoints,selectedTriangle.ypoints,selectedTriangle.npoints);
  copyPolygon.translate(10,10);
  triangles.add(copyPolygon);
  repaint();
}           
4

1 に答える 1

1

古いポリゴンから新しいポリゴンを構築し、そのポリゴンを新しい場所に移動できます

Polygon newPolygon = new Polygon(oldPolygon.xpoints, oldPolygon.ypoints, oldPolygon.npoints);
newPolygon.translate(newXPos, newYPos);

行が原因でコードが機能しません

copyPolygon = selectedTriangle;

selectedTriangle のコピーは作成せず、copyPolygon が同じオブジェクトを指すようにするだけです。したがって、元のポリゴンと同一の新しいポリゴンを構築する必要があります。これは、私の提案の最初の行が行うことです。

于 2009-10-06T19:44:41.033 に答える