Hi
ich habe ein Problem bei einem Projekt von mir die gezeichneten Objekte aus dem Panel zu entfernen.
Zuerst fülle ich eine Liste mit Bildern und Informationen zu deren Position:
Diese Liste male ich dann auf mein JPanel:
Wenn das Programm nun aus diesem Teil rausgehen, und zurück ins menü soll, wird das Panel und alles andere gelöscht. Das versuche ich mit folgenden Befehlen:
Das Ergebnis ist, dass das Menü auftaucht und alles so ist wie es sein sollte. Aber wenn ich das Programm nun wieder betrete, sind alle Grafiken noch auf den selben plätzen wie vorher.
Zusätzlich werden die neuen Objekte dazu geschrieben, so dass die Liste mit Strukturen nun doppelt so lang ist wie vorher.
Das alte gamePanel überschreibe ich aber bei neuem einsteigen wieder:
Im Anhang ist das Projekt und eine Jar. Die einzigen Interessanten Klassen sind wohl Game, GameWindow, GamePanel, StructureManager und StructureList.
Projekt und Jar
Wäre echt cool wenn jemand mir einen Tipp geben könnte das zu Lösen.
Wenn Informationen Fehlen bin ich sofort bereit sie nachzureichen (=
ich habe ein Problem bei einem Projekt von mir die gezeichneten Objekte aus dem Panel zu entfernen.
Zuerst fülle ich eine Liste mit Bildern und Informationen zu deren Position:
Java:
Liste mit Structures
public static List<Structure> structurelist = new ArrayList<Structure>();
// Structure Klasse
public class Structure {
protected double x;
protected double y;
protected Sprite sprite;
private boolean isMassive = false;
Diese Liste male ich dann auf mein JPanel:
Java:
public void paint(Graphics g) {
super.paint(g);
if (Game.running) {
for (int i = 0; i < StructureManager.structurelist.size(); i++) {
Structure s = StructureManager.structurelist.get(i);
if (s != null) {
if (s.getSprite().getImage() != null) {
g.drawImage(s.getSprite().getImage(), s.getX(),
s.getY(), this);
}
}
}
g.dispose();
}
}
Wenn das Programm nun aus diesem Teil rausgehen, und zurück ins menü soll, wird das Panel und alles andere gelöscht. Das versuche ich mit folgenden Befehlen:
Java:
gamePanel.setVisible(false);
gamePanel.repaint();
Game.running = false;
gw.remove( gamePanel );
gw.remove( gameBackgroundPanel );
getContentPane().getGraphics();
gw.validate();
gw.update(gw.getGraphics());
callMenu();
Das Ergebnis ist, dass das Menü auftaucht und alles so ist wie es sein sollte. Aber wenn ich das Programm nun wieder betrete, sind alle Grafiken noch auf den selben plätzen wie vorher.
Zusätzlich werden die neuen Objekte dazu geschrieben, so dass die Liste mit Strukturen nun doppelt so lang ist wie vorher.
Das alte gamePanel überschreibe ich aber bei neuem einsteigen wieder:
Java:
gamePanel = new GamePanel();
gamePanel.setVisible(true);
Im Anhang ist das Projekt und eine Jar. Die einzigen Interessanten Klassen sind wohl Game, GameWindow, GamePanel, StructureManager und StructureList.
Projekt und Jar
Wäre echt cool wenn jemand mir einen Tipp geben könnte das zu Lösen.
Wenn Informationen Fehlen bin ich sofort bereit sie nachzureichen (=