Java Swing Oberfläche aktualisiert sich nicht

tobias304

Neues Mitglied
Guten Tag liebe Java-Gemeinde,

ich bin durch ein Projekt in meinem Studium in die Prgammiersprache Java eingestiegen und bei meinem Projekt tritt das Problem auf das sich die Graphische Oberfläche nicht immer aktualisiert, also das Festner popt auf aber das Fenster bleibt weiß.
Es ist ein 4 Gewinnt Spiel. Computer vs Computer und Computer vs Human funktionieren einwandfrei, jedoch sobald der Human anfängt zu spielen aktualsiert sich das Fenster nicht.

Ich weiß nicht mehr weiter und wende mich daher an euch.
Schon mal Danke im Vorraus für unterstützende Anworten =)

Java:
public static void create() {
		game = new Game();
		frame = new FrameListener(game);
		frame.setSize(FRAMEWIDTH, FRAMEHEIGTH);
		frame.setResizable(false);
		frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
		load(game, frame);
		IARPlayer.chooseGameMode(Constants.getchosenMode());
		
	//	frame.revalidate();
		//frame.invalidate();
		//frame.repaint();
		frame.validate();

		frame.setVisible(true);
		Game.start();
	}
	
	static void load(Game game, FrameListener frame) {
		frame.clear();
		game.clear();
		
		//frame.repaint();	
		Box box = Box.createVerticalBox();
		frame.add(box);
		
		gamePanel = new JPanel(null);
		box.add(gamePanel);

		JPanel backgroundPanel = new JPanel();
		backgroundPanel.setBounds(0, 0, WIDTHGAME, HEIGTHGAME);
		backgroundPanel.setBackground(Color.CYAN);
		gamePanel.add(backgroundPanel);
		
		stonePanel = new JPanel(null); //layout manager null
		stonePanel.setBounds(0, 0, WIDTHGAME, HEIGTHGAME);
		stonePanel.setOpaque(false);
		gamePanel.add(stonePanel, 0);

		JLabel foregroundLabel = new JLabel(new ImageIcon("imgiar\\spielfeld.png"));
		foregroundLabel.setBounds(0, 0, WIDTHGAME, HEIGTHGAME);
		gamePanel.add(foregroundLabel, 0);

		mousePanel = new MousePanel(game, stonePanel, frame);
		mousePanel.setBounds(0, 0, WIDTHGAME, HEIGTHGAME);
		mousePanel.setOpaque(false);
		gamePanel.add(mousePanel, 0);	

		JLabel playerLabel = new JLabel();
		box.add(playerLabel);
		game.setPlayerLabel(playerLabel);	
		
		//box.repaint();
		//gamePanel.repaint();
		//box.updateUI();
		//gamePanel.revalidate();
		//gamePanel.repaint();
		//l.updateUI();
		//frame.invalidate();		
		
	}

Viele Grüße
Tobias
 
Zuletzt bearbeitet von einem Moderator:
Code:
int attempts = 0;
while (codeDoesNotDoWhatIWant())
{
    changeSomeMethodCallsRandomly();
    attempts++;
    if (attempts > 100) throw new PostThisUnformattedCrapIntoForumException();
}
:autsch:

EDIT: Naja, dank L-ectron-X zu einer normalen [c]PostThisCrapIntoForumException[/c] geändert 😀 Aber ein KSKB wäre schon nicht schlecht (falls das in Anbetracht der Fülle der verfügbaren Swing-Tutorials wirklich notwendig ist)
 
Allein in diesem kurzen und vor allem unvollständigen Codestück sind so viele Fehler (bzw. Dinge, die man so einfach nicht macht), dass es kein Wunder ist, dass du Probleme mit deinem Programm hast.
Grundlagen der OOP und GUI/LayoutManager solltest du dir zunächst mal ansehen. Ein Großteil davon wird in unserer FAQ bereits behandelt.
 

Neue Themen


Zurück
Oben