Heya...!
Es geht um Folgendes:
Ich habe eine JList, die entweder mit einem String Array gefüllt wird, deren Elemente entweder nach Nummer oder nach Name ausgehend von einigen Objekten, die in einem Vektor liegen, gefüllt werden. Die Methoden getKontoInfoNummer() und getKontoInfoName () liefern jeweils unterschiedliche Strings (=> "1 Peter Maffay" bzw. "Peter Maffay 1" ...die Zahl ist der Index im Vector) zurück. Sie werden auf Knopfdruck jeweils getrennt aufgerufen, um diese JList-Elemente wie gesagt nach Name oder Nummer sortieren zu lassen.
Mein Problem ist jetzt der Zugriff von der JList aus auf den Vektor, aus dem ja auch die Arrays erzeugt wurden. Wenn diese JList nach Nummern geordnet ist, kann ich mir ja einfach den Index des Arrays nehmen, um an das richtige Objekt in dem Vektor zu kommen...die Indizes sind ja in dem Fall gleich.
Aber wie kann ich auf das korrekte Objekt zugreifen, wenn die Liste nach Namen sortiert ist...? Ich wollte erst die Nummer im String benutzen, aber wenn etwas anderes als Zahlen vorliegen, kann ich sie nicht konvertieren...was kann ich hier machen?
Gibts ne andere Möglichkeit, auf die Vectorindizes zuzugreifen? Oder kann ich den String irgendwie doch verwenden?
Es geht um Folgendes:
Ich habe eine JList, die entweder mit einem String Array gefüllt wird, deren Elemente entweder nach Nummer oder nach Name ausgehend von einigen Objekten, die in einem Vektor liegen, gefüllt werden. Die Methoden getKontoInfoNummer() und getKontoInfoName () liefern jeweils unterschiedliche Strings (=> "1 Peter Maffay" bzw. "Peter Maffay 1" ...die Zahl ist der Index im Vector) zurück. Sie werden auf Knopfdruck jeweils getrennt aufgerufen, um diese JList-Elemente wie gesagt nach Name oder Nummer sortieren zu lassen.
Code:
public String[] erstelleArrayNachKontoNr()
{
Nummernliste = new String [vector.size()];
for (int j = 0; j<vector.size();j++)
{
Object o = vector.get (j);
if (o instanceof DGirokonto)
{
DGirokonto p = (DGirokonto) o;
Nummernliste[j] = p.getKontoInfoNummer();
}
else if (o instanceof DSparkonto)
{
DSparkonto p = (DSparkonto) o;
Nummernliste[j] = p.getKontoInfoNummer();
}
}
return Nummernliste;
}
public String[] erstelleArrayNachName()
{
String [] Namensliste;
Namensliste = new String [vector.size()];
for (int j = 0; j<vector.size();j++) //Array mit Vektordaten füllen
{
Object o = vector.get (j);
if (o instanceof DGirokonto)
{
DGirokonto p = (DGirokonto) o;
Namensliste[j] = p.getKontoInfoName();
}
else if (o instanceof DSparkonto)
{
DSparkonto p = (DSparkonto) o;
Namensliste[j] = p.getKontoInfoName();
}
}
java.util.Arrays.sort(Namensliste);
return Namensliste;
}
Mein Problem ist jetzt der Zugriff von der JList aus auf den Vektor, aus dem ja auch die Arrays erzeugt wurden. Wenn diese JList nach Nummern geordnet ist, kann ich mir ja einfach den Index des Arrays nehmen, um an das richtige Objekt in dem Vektor zu kommen...die Indizes sind ja in dem Fall gleich.
Aber wie kann ich auf das korrekte Objekt zugreifen, wenn die Liste nach Namen sortiert ist...? Ich wollte erst die Nummer im String benutzen, aber wenn etwas anderes als Zahlen vorliegen, kann ich sie nicht konvertieren...was kann ich hier machen?
Gibts ne andere Möglichkeit, auf die Vectorindizes zuzugreifen? Oder kann ich den String irgendwie doch verwenden?