Der Vektor ist schuld...Problem mit durchsuchen von Vektor

Status
Nicht offen für weitere Antworten.

hongkongwuji

Mitglied
Hallo,

ich habe ein 2D-Zeichenprogramm geschrieben (bin noch dabei), in dem 3 verschiedene Geometrien
gezeichnet werden.
Die Koordinaten der Punkte lege ich in einen Vektor ab.
Um nun z.B. eine Geometrie modifizieren zu können muss ich ja auf die Punkte im Vektor zugreifen bzw. abfragen welche Geometrie sich in der Nähe des Mauszeigers befindet.
Problemlos funzt das anlegen und das befüllen des Vektors. Nun möchte ich gerne die x und y Koordinaten der
Punkte zurückgeben oder verwursten.
Doch wie kann ich nun auf die einzelnen Spalten des Vektors zugreifen bzw. den Vektor durchsuchen?
Im Vektor werden doch lediglich Objekte gespeichert, wie kann ich diese in f lo at Werte umwandeln?


vielen Dank
 
hongkongwuji hat gesagt.:
..Im Vektor werden doch lediglich Objekte gespeichert, wie kann ich diese in f lo at Werte umwandeln?..
Objekte sind ja von einer bestimmten Klasse (Typ).
Diese Klasse muss eine Schnittstelle haben, die die gewünschten Werte liefern kann.
Nehmen wir mal an, die Klasse heisst Punkt. Die Schnittstelle könnte u.a. aus den Methoden getX() und getY()
bestehen, welche dir die Punktkoordinaten liefern:
Code:
package basics;
/*
 * TestPunkt.java
 */
import java.util.*;
public class TestPunkt {
    private Punkt punkt;
    private float x, y;
    private Vector vector;
    public TestPunkt() {
        //...
        vector = new Vector();
        //...
        vector.add(new Punkt(10f, 150f));
        //...
        for (int i = 0; i < vector.size(); i++) {
            punkt = ((Punkt)vector.get(i));
            x = punkt.getX();
            y = punkt.getY();
            System.out.println(x+" "+y);
            //...
        }
    }
    public static void main(final String[] args) {new TestPunkt();}
}
class Punkt{
    private float x,y;
    public Punkt(final float x, final float y){
        this.x = x;
        this.y = y;
    }
    public float getX(){
        return x;
    }
    public float getY(){
        return y;
    }
}
 
Nunja, ich würd mal so ganz grob sagen dass du da eine Methode getX() und getY() definieren solltest, in etwa so:

Code:
public static void getX(int position)
{
// Nicht getestet, ich würd nur mal grob tippen dass das in etwa so gehen würde...
return Float.parseFloat(String.toString(deineListe.get(position)));
}


Naja, ansonsten gibts ja auch ArrayList<Float>
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben