Permalänk
Medlem

Java fråga

Nu ligger det till så att jag skall göra ett program som hanterar skivor, - allt fungerar bra förutom en sak och det är när man skall ta bort en skiva, så kommer det upp en ruta där man skall mata in albumet som skall tas bort, men problemmet är att det tas inte bort, utan är fortfarande kvar efter borttagningen :S

[C.O.D.E.]
class removeLyss implements ActionListener{
public void actionPerformed(ActionEvent ave) {

JPanel form = new JPanel();
form.setLayout (new BoxLayout(form, BoxLayout.Y_AXIS));

JPanel rad1 = new JPanel();
JTextField removeFält = new JTextField(10);
rad1.add(new JLabel("Vilken titel ?"));
rad1.add(removeFält);
form.add(rad1);

JOptionPane.showMessageDialog(null, form, "Ta bort",
JOptionPane.QUESTION_MESSAGE);
String Record = removeFält.getText();

for( int x = 0; x < VinylSamling.size(); x++) {

if (VinylSamling.get(x).getTitle().equals(Record)) {
int choose = JOptionPane.showConfirmDialog(null, "Ta bort",
"Är du säker på att du vill radera vinyl? ",
JOptionPane.YES_NO_OPTION);
if (choose == JOptionPane.YES_OPTION){
VinylSamling.remove(Record);
JOptionPane.showMessageDialog(null, "Vinylen "+Record+" är borttagen");
}else{
return;
}

}
if (Record == null) {
JOptionPane.showMessageDialog(null, "Titeln finns ej");

}
}
}
}
[/C.O.D.E.]

Är det något jag missar eller är det bara bugg??

//Sandric

Permalänk
Medlem

Re: Java fråga

Gör så här så blir det lättare att läsa.

class removeLyss implements ActionListener { public void actionPerformed(ActionEvent ave) { JPanel form = new JPanel(); form.setLayout(new BoxLayout(form, BoxLayout.Y_AXIS)); JPanel rad1 = new JPanel(); JTextField removeFält = new JTextField(10); rad1.add(new JLabel("Vilken titel ?")); rad1.add(removeFält); form.add(rad1); JOptionPane.showMessageDialog(null, form, "Ta bort", JOptionPane.QUESTION_MESSAGE); String Record = removeFält.getText(); for (int x = 0; x < VinylSamling.size(); x++) { if (VinylSamling.get(x).getTitle().equals(Record)) { int choose = JOptionPane.showConfirmDialog(null, "Ta bort", "Är du säker på att du vill radera vinyl? ", JOptionPane.YES_NO_OPTION); if (choose == JOptionPane.YES_OPTION) { VinylSamling.remove(Record); JOptionPane.showMessageDialog(null, "Vinylen " + Record + " är borttagen"); } else { return; } } if (Record == null) { JOptionPane.showMessageDialog(null, "Titeln finns ej"); } } } }

Jag antar att VinylSamling är en Java.util.List, i så fall så byt

VinylSamling.remove(Record);

mot

VinylSamling.remove(x);

Visa signatur

I'm Winston Wolfe. I solve problems.

Permalänk
Medlem

Okej, tackar löste problemet