この方法には問題があります。GUIで作成できるArrayListのオブジェクトでTextAreaを埋めたいと思います。オブジェクトは問題なく作成されますが、別のオブジェクトを作成すると、古い ArrayList が TextArea に表示されたままになりますが、実際には、内部で重複が発生することなく、完全な ArrayList を再度表示したいだけです。
//The code that is presenting the text in the TextArea
public void addTextBlock(double length, double width, double height) {
shapecontrol.makeBlock(length, width, height);
for(int i = 0; i < shapecontrol.getShapeCollection().giveCollection().size(); i++)
{
InfoShapeTextArea.append(shapecontrol.getShapeCollection().giveShape(i).toString() + "\n");
}
}
.makeBlock メソッド:
public void makeBlock(double length, double width, double height)
{
Shape shape= new Block( length, width, height);
shapecollection.addShape(shape);
}
.getShapeCollection() メソッド:
public ShapeCollection getShapeCollection() {
return shapecollection;
}
.giveCollection() メソッド:
public ArrayList<Shape> giveCollection(){
return shapecollection;
}
.giveShape() メソッド:
public Shape giveShape(int index){
return shapecollection.get(index);
}