O
Obli
Gast
Guten Tag Java Community
Ich stehe gerade vor einem Problem und komme einfach nicht drauf wie ich das angehen soll:
Visual Class:
Klasse Controller, Löschfunktion:
Und zwar: Ich gebe Personendaten ein, dies soll in eine HashMap gespeichert werden und in einer Liste ausgegeben werden. Um die Daten zu Löschen, wähle ich in der Liste aus und drücke auf den Button löschen. Jetzt übergebe ich die Position des selectierten Datensatzes (welches in der Liste ja als String da steht) und weiß nicht mehr weiter
Ich weiß zwar die Position in der Liste, aber nicht die Position der Map.
Vielen dank für eure Hilfe!
Ich stehe gerade vor einem Problem und komme einfach nicht drauf wie ich das angehen soll:
Visual Class:
Java:
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
Button b = (Button)arg0.getSource();
try{
if(b == anlegen){
int id = Integer.parseInt(getID.getText());
String v = new String(getVorname.getText());
String n = new String(getZuname.getText());
Boolean g = checkM.getState();
c.addPerson(id, v, n, g);
getVorname.setText("");
getZuname.setText("");
getID.setText(""+c.ganz());
}
if(b == del)
{
c.delPerson(list.getSelectedIndex());
}
}catch(Exception e)
{
MessageLine.setText("Es ist ein Fehler aufgetreten!");
}
}
public void update(Observable arg0, Object arg1) {
// TODO Auto-generated method stub
HashMap hm = (HashMap)arg1;
list.removeAll();
for (Iterator it = hm.entrySet().iterator();it.hasNext();) {
Map.Entry me = (Map.Entry)it.next();
list.add(me.getValue() + " " + me.getKey().toString());
}
}
Klasse Controller, Löschfunktion:
Java:
public class Controller extends Observable{
HashMap hm = new HashMap();
int id;
char G;
void addPerson(int i, String v, String n, Boolean g)
{
Person p = new Person(i,v,n,g);
if(g){ G='M'; }else{ G='W'; }
hm.put(p, p.gid());
update();
}
void delPerson(int pos)
{
try
{
hm.remove(pos);
update();
}
catch(Exception e)
{
System.out.println("Es ist ein Fehler aufgetreten");
}
}
void update()
{
setChanged();
notifyObservers(hm);
clearChanged();
}
}
Und zwar: Ich gebe Personendaten ein, dies soll in eine HashMap gespeichert werden und in einer Liste ausgegeben werden. Um die Daten zu Löschen, wähle ich in der Liste aus und drücke auf den Button löschen. Jetzt übergebe ich die Position des selectierten Datensatzes (welches in der Liste ja als String da steht) und weiß nicht mehr weiter
Ich weiß zwar die Position in der Liste, aber nicht die Position der Map.
Vielen dank für eure Hilfe!