Hallo =)
Ich bin neu hier und habe noch nicht so viel Erfahrung im Programmieren. Allerdings habe ich die Aufgabe ein kleines Spiel zu programmieren.
Dafür lasse ich mir ein Bild im JFrame anzeigen. Ich hab vier Knöpfe und möchte, dass sich das Bild bei jedem Knopfdruck ändert. Ich bin jetzt soweit, dass ich das Programm starten kann und wenn ich einen Knopf drücke ändert sich auch das Bild, aber danach passiert nichts mehr. Wenn sich das Bild einmal geändert hat, bleibt es dabei und die Knöpfe reagieren nicht mehr.
Ich versuche jetzt einmal meinen Code einzufügen. Es wäre wirklich super, wenn mir jemand helfen könnte.
Ich bedanke mich im Voraus für jede Antwort!
Liebe Grüße!
package hundi;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
public class Tama {
public static void main(String[] args) {
JFrame tam = new JFrame("Mein Tamagotchi");
tam.setSize(1000, 800);
tam.setLocation(315, 6);
JButton eins = new JButton("füttern");
eins.setBounds(60, 500, 100, 20);
tam.add(eins);
JButton zwei = new JButton("spielen");
zwei.setBounds(60, 550, 100, 20);
tam.add(zwei);
JButton drei = new JButton("schlafen");
drei.setBounds(60, 600, 100, 20);
tam.add(drei);
JButton vier = new JButton("waschen");
vier.setBounds(60, 650, 100, 20);
tam.add(vier);
// JButton neu = new JButton("zurück");
// neu.setBounds(60, 400, 100, 20);
// tam.add(neu);
JLabel hintergrundbild = new JLabel(
new ImageIcon("C:/Users/Lana/Desktop/Programmieren/Tamagotchi/Sitzend.jpg"));
tam.getContentPane().add(hintergrundbild);
hintergrundbild.setVisible(true);
tam.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tam.setVisible(true);
ActionListener schlafen = new ActionListener() {
public void actionPerformed(ActionEvent e) {
// JOptionPane.showMessageDialog(null, "Danke!");
hintergrundbild.setVisible(false);
JLabel bild = new JLabel(
new ImageIcon("C:/Users/Lana/Desktop/Programmieren/Tamagotchi/Liegend.jpg"));
tam.getContentPane().add(bild);
bild.setVisible(true);
}
};
ActionListener spielen = new ActionListener() {
public void actionPerformed(ActionEvent e) {
hintergrundbild.setVisible(false);
JLabel bildspiel = new JLabel(
new ImageIcon("C:/Users/Lana/Desktop/Programmieren/Tamagotchi/Spielend.jpg"));
tam.getContentPane().add(bildspiel);
bildspiel.setVisible(true);
}
};
// ActionListener back = new ActionListener() {
// public void actionPerformed(ActionEvent e) {
// hintergrundbild.setVisible(true);
drei.addActionListener(schlafen);
zwei.addActionListener(spielen);
// neu.addActionListener(back);
}
}
Ich bin neu hier und habe noch nicht so viel Erfahrung im Programmieren. Allerdings habe ich die Aufgabe ein kleines Spiel zu programmieren.
Dafür lasse ich mir ein Bild im JFrame anzeigen. Ich hab vier Knöpfe und möchte, dass sich das Bild bei jedem Knopfdruck ändert. Ich bin jetzt soweit, dass ich das Programm starten kann und wenn ich einen Knopf drücke ändert sich auch das Bild, aber danach passiert nichts mehr. Wenn sich das Bild einmal geändert hat, bleibt es dabei und die Knöpfe reagieren nicht mehr.
Ich versuche jetzt einmal meinen Code einzufügen. Es wäre wirklich super, wenn mir jemand helfen könnte.
Ich bedanke mich im Voraus für jede Antwort!
Liebe Grüße!
package hundi;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
public class Tama {
public static void main(String[] args) {
JFrame tam = new JFrame("Mein Tamagotchi");
tam.setSize(1000, 800);
tam.setLocation(315, 6);
JButton eins = new JButton("füttern");
eins.setBounds(60, 500, 100, 20);
tam.add(eins);
JButton zwei = new JButton("spielen");
zwei.setBounds(60, 550, 100, 20);
tam.add(zwei);
JButton drei = new JButton("schlafen");
drei.setBounds(60, 600, 100, 20);
tam.add(drei);
JButton vier = new JButton("waschen");
vier.setBounds(60, 650, 100, 20);
tam.add(vier);
// JButton neu = new JButton("zurück");
// neu.setBounds(60, 400, 100, 20);
// tam.add(neu);
JLabel hintergrundbild = new JLabel(
new ImageIcon("C:/Users/Lana/Desktop/Programmieren/Tamagotchi/Sitzend.jpg"));
tam.getContentPane().add(hintergrundbild);
hintergrundbild.setVisible(true);
tam.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tam.setVisible(true);
ActionListener schlafen = new ActionListener() {
public void actionPerformed(ActionEvent e) {
// JOptionPane.showMessageDialog(null, "Danke!");
hintergrundbild.setVisible(false);
JLabel bild = new JLabel(
new ImageIcon("C:/Users/Lana/Desktop/Programmieren/Tamagotchi/Liegend.jpg"));
tam.getContentPane().add(bild);
bild.setVisible(true);
}
};
ActionListener spielen = new ActionListener() {
public void actionPerformed(ActionEvent e) {
hintergrundbild.setVisible(false);
JLabel bildspiel = new JLabel(
new ImageIcon("C:/Users/Lana/Desktop/Programmieren/Tamagotchi/Spielend.jpg"));
tam.getContentPane().add(bildspiel);
bildspiel.setVisible(true);
}
};
// ActionListener back = new ActionListener() {
// public void actionPerformed(ActionEvent e) {
// hintergrundbild.setVisible(true);
drei.addActionListener(schlafen);
zwei.addActionListener(spielen);
// neu.addActionListener(back);
}
}
Zuletzt bearbeitet: