Hallo,
muss eine Art Spiel machen, wo auf einem JPanel mehrmals das selbe Bild vorkommt.
Wenn man irgendwo anders auf einen Button klickt, müssen, je nachdem, Bilder aus dem JPanel hinzugefügt oder entfernt werden.
Ich habe eine Klasse vom JPanel abgeleitet, die unter anderem, sich mit einer bestimmten Anzahl von Bildern initialisieren lässt.
Das Problem ist jetzt dass ich nicht weiß, wie ich mit -repaint/paint/update/revalidate usw.- das JPanel dazu kriege, die Anzahl der angezeigten Bildern zu verändern, wenn ich auf das Button klicke.
Mein naiver Ansatz, der auch nicht funktioniert hat, war, in der Unterklasse von JPanel einen Zähler zu haben, für die Anzahl der Bilder, die gezeichnet werden sollen, beim klicken vom Button den Zähler erhöhen / senken, und dann repaint() aufrufen, und dann in der paint Methode von der Unterklasse von JPanel in einer Schleife von 0 bis zum Zähler Bilder hinzufügen.
Erstes Problem war, dass sich die Ansicht erst nachdem aktualisiert hat, wenn ich die größe vom Fenster änderte. Was sich mit revalidate() nach repaint() beheben lies.
Zweites Problem, das bisher ungelöste, ist dass die alten Bilder nicht gelöscht werden, so dann immer neue nach ihnen hinzugefügt werden.
Dazu noch eine Kleinigkeit, ich Benutze für die Bilder JLabels. Ist das richtig so? Sie müssen nicht anklickbar sein usw. nur halt erscheinen. Und dann auch mehrmals und wie gesagt, es soll sich nur die Anzahl verändern.
muss eine Art Spiel machen, wo auf einem JPanel mehrmals das selbe Bild vorkommt.
Wenn man irgendwo anders auf einen Button klickt, müssen, je nachdem, Bilder aus dem JPanel hinzugefügt oder entfernt werden.
Ich habe eine Klasse vom JPanel abgeleitet, die unter anderem, sich mit einer bestimmten Anzahl von Bildern initialisieren lässt.
Das Problem ist jetzt dass ich nicht weiß, wie ich mit -repaint/paint/update/revalidate usw.- das JPanel dazu kriege, die Anzahl der angezeigten Bildern zu verändern, wenn ich auf das Button klicke.
Mein naiver Ansatz, der auch nicht funktioniert hat, war, in der Unterklasse von JPanel einen Zähler zu haben, für die Anzahl der Bilder, die gezeichnet werden sollen, beim klicken vom Button den Zähler erhöhen / senken, und dann repaint() aufrufen, und dann in der paint Methode von der Unterklasse von JPanel in einer Schleife von 0 bis zum Zähler Bilder hinzufügen.
Erstes Problem war, dass sich die Ansicht erst nachdem aktualisiert hat, wenn ich die größe vom Fenster änderte. Was sich mit revalidate() nach repaint() beheben lies.
Zweites Problem, das bisher ungelöste, ist dass die alten Bilder nicht gelöscht werden, so dann immer neue nach ihnen hinzugefügt werden.
Dazu noch eine Kleinigkeit, ich Benutze für die Bilder JLabels. Ist das richtig so? Sie müssen nicht anklickbar sein usw. nur halt erscheinen. Und dann auch mehrmals und wie gesagt, es soll sich nur die Anzahl verändern.