Jeg har denne metode som jeg bruger til at rette elementer i min jList:
public KasseInterface findVare( String varenummer ) {
System.out.println("finder vare for '" + varenummer + "'");
for( KasseInterface elem : varer ) {
if (elem.getVarenummer() == varenummer )
System.out.println("fandt vare '" + elem + "'");
return elem;
}
System.out.println("fandt ikke nogen vare!!!");
return null;
}
Jeg har prøvet at skifte if (elem.getVarenummer() == varenummer ) ud med if (elem.getVarenummer().equals(varenummer) ) uden held.
I min GUI skal variablerne sættes ind i nogle felter hvor jeg så kan rette i dem og smide dem retur i samme position i min liste.
OpretVare vare = (OpretVare) lageret.findVare( jTextFieldVarenummer.getText() );
vare.setVarenavn( jTextFieldVarenavn.getText() );
vare.setVarebeskrivelse( jTextFieldBeskrivelse.getText() );
vare.setLagerAntal( Integer.parseInt( jTextFieldLagerAntal.getText() ));
vare.setSalgspris( Float.parseFloat( jTextFieldSalgspris.getText() ));
vare.setLagerPlacering( (String) jComboBoxLagerPlacering.getSelectedItem() );
jListOversigt.setListData( lageret.getVarer().toArray() );
jTextFieldOplysningsFelt.setText( "Varen er rettet" );
Mit problem er at den henter fint nok ind, men når jeg skal gemme laver den ændringen på plads nummer 1 i min liste, selvom jeg f.eks. retter i nummer 3.
Kan nogle se hvorfor det sker og hvad der evt. skal ændres for at det kommer til at virke??
På forhånd tak.