Hi,
vielleicht kann mir jemand helfen.
Ich hab folgendes Problem:
Beim Einfügen eines Objekts in einen Vector werden alle bisher eingefügten Objekte durch das neu eingefügte Objekt überschrieben.
Hier ein Code-Auszug
kurze Erklärung:
In der Methode "jConExtractButtonMouseClicked" wird ein die Kontur eines Bild (img) bestimmt
-> Objekt/Klasse: condata, diese Objekt will ich in einem Vector ablegen (über Methode DataContainer.addContourData); Die Berechnungen funktionieren alle, das Objekt wird auch im vector gespeichert
Aber: sobald methode "jConExtractButtonMouseClicked" nochmals ausgeführt wird, wird das bereits im Vector vorhandene Objekt durch das neue Objekt überschrieben, das neue Objekt dann angehängt
Es wäre schön, wenn mir jemand bei meinem problem helfen kann.
P.S.: ich hab es auch schon mit nem array versucht, hilft alles nichts
vielleicht kann mir jemand helfen.
Ich hab folgendes Problem:
Beim Einfügen eines Objekts in einen Vector werden alle bisher eingefügten Objekte durch das neu eingefügte Objekt überschrieben.
Hier ein Code-Auszug
Code:
// Programmauszug
private void jConExtractButtonMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ContourData condata;
img = (BinaryImage)ImageFilesContainer.getBinaryImages().get(index-1);
condata = ContourExtract.extract(img);
//condata[index-1] = new ContourData(ContourExtract.getCoords()); // ContourData Objekt für jeweiliges Bild
DataContainer.addContourData(condata);
//contourData.add(condata);
//int width = jMainPanel.getInsets().right - jMainPanel.getInsets().left;
//int height = jMainPanel.getInsets().bottom - jMainPanel.getInsets().top;
Dimension dim = new Dimension(img.getWidth(),img.getHeight());
panel.setActive(condata.getCoords(), dim);
jMainPanel.add(panel, java.awt.BorderLayout.CENTER);
int anz = condata.getCoordsNr();
String nr = String.valueOf(anz);
jContourPtTextField.setText(nr);
}
//Ausschnitt DataContainer
import java.util.*;
public class DataContainer {
private static Vector conData = new Vector();
private static CamData[] camData;
/** Creates a new instance of DataContainer */
public DataContainer() {
}
public static void addContourData(ContourData data)
{
conData.add(data);
}
kurze Erklärung:
In der Methode "jConExtractButtonMouseClicked" wird ein die Kontur eines Bild (img) bestimmt
-> Objekt/Klasse: condata, diese Objekt will ich in einem Vector ablegen (über Methode DataContainer.addContourData); Die Berechnungen funktionieren alle, das Objekt wird auch im vector gespeichert
Aber: sobald methode "jConExtractButtonMouseClicked" nochmals ausgeführt wird, wird das bereits im Vector vorhandene Objekt durch das neue Objekt überschrieben, das neue Objekt dann angehängt
Es wäre schön, wenn mir jemand bei meinem problem helfen kann.
P.S.: ich hab es auch schon mit nem array versucht, hilft alles nichts