Moin, mein Plan ist es, einen Serienmerker zu erstellen.
1. ArrayList<Serie> mit Serien-Objekten(mit String-Name, aktueller int-Staffel und int-Episode)
2. for-Schleife macht diese Serien als Zeilen in der GUI sichtbar. Eine Zeile besteht aus: Name, Staffel, Episode und dem "+"-Button, wenn man auf diesen klickt, erhöht sich die Episode automatisch um einen Zähler.
Problem:
Ich komme irgendwie nicht drauf, wie ich bei einem Klick auf "+" jetzt die richtigte, daneben stehende Episode ändern kann (also die richtige setEpisode()-Methode in der ActionListener-Methode aufrufe).
Methode zum Anlegen der ArrayList und der dazugehörigen swing-Elemente:
ActionListener
Da es schon spät ist, hoffe ich mal, dass ich mein Problem halbwegs klar rüberbringen konnte. Danke schonmal!
1. ArrayList<Serie> mit Serien-Objekten(mit String-Name, aktueller int-Staffel und int-Episode)
2. for-Schleife macht diese Serien als Zeilen in der GUI sichtbar. Eine Zeile besteht aus: Name, Staffel, Episode und dem "+"-Button, wenn man auf diesen klickt, erhöht sich die Episode automatisch um einen Zähler.
Problem:
Ich komme irgendwie nicht drauf, wie ich bei einem Klick auf "+" jetzt die richtigte, daneben stehende Episode ändern kann (also die richtige setEpisode()-Methode in der ActionListener-Methode aufrufe).
Methode zum Anlegen der ArrayList und der dazugehörigen swing-Elemente:
Java:
public void serienlisteErstellen() {
// ArrayList<Serie> mit Inhalten wird als .ser eingelesen
zeile = new JPanel();
zeile.setLayout(new BoxLayout(zeile, BoxLayout.Y_AXIS));
for (Serie i : aktuelleSerienliste) {
JPanel aktuelleSerien = new JPanel();
JLabel name = new JLabel(i.getName());
String s = String.valueOf(i.getStaffel());
JLabel staffel = new JLabel(staffel);
String e = String.valueOf(i.getEpisode());
JLabel episode = new JLabel(episode);
JButton plus = new JButton("+");
plus.addActionListener(this);
aktuelleSerien.add(name);
aktuelleSerien.add(staffel);
aktuelleSerien.add(episode);
aktuelleSerien.add(plus);
zeile.add(aSerien);
frame.getContentPane() .add(BorderLayout.CENTER, zeile);
}
}
ActionListener
Java:
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == this.plus) {
// Keine Ahnung was ich hier hinschreiben soll
}
Da es schon spät ist, hoffe ich mal, dass ich mein Problem halbwegs klar rüberbringen konnte. Danke schonmal!