GridLayout

7 respostas
T

aloha..

eu estou fazendo o jogo do galo... e queria desenhar o tabuleiro, para isso estou tentando usar o GridLayout, mas não está dando certo, está ficando a janela toda branca....

private void LayoutContent(Container c) {

		JPanel panel = new JPanel();
		GridLayout gl = new GridLayout(ROWS, COLUMNS);
		gl.setVgap(5);
		gl.setHgap(10);
		
		c.add(panel, BorderLayout.CENTER);
		Dimension d = new Dimension(1000, 50);
		panel.setPreferredSize(d);
		c.setBackground(Color.BLUE);
		panel.setBackground(Color.WHITE);
		panel.setLayout(gl);
		c.setSize(1200, 960);
		setSize(1200,960);
		panel.setVisible(true);
		
		c.setPreferredSize(d);
		
		setVisible(true);

	}

7 Respostas

thiago.correa

Tá certo, você adicionou o seu painel branco ao centro (no border layout quando você adiciona um elemento ao centro e nenhum nas bordas - North, south, east e lest ) ele ocupa todo o espaço.

Outra coisa se a sua resolução for menos que 1200x960 aí sim que ela vai ficar toda branca mesmo :slight_smile:

D

Faltou adicionar o layout que vc criou ao painel.

panel.setLayout(gl);

T

o layout está adicionado ao panel, você é que n reparou…

como eu faço para n ficar tudo branco ? e para aparecer as 9 células ?

D

vc ja adicionou os componentes ao painel?
pois vc criou o layout agora vc tem que popular o painel com no minimo um por celula (9 Labels ou Buttons)

T

Realmente eu não tinha populado não..
pode ser assim ?
mas é que os butões n aparecem... o k será que se passa agora ?

private void LayoutContent(Container c) {

		JPanel panel = new JPanel();
		GridLayout gl = new GridLayout(ROWS, COLUMNS);
		gl.setVgap(5);
		gl.setHgap(10);
		
		c.add(panel, BorderLayout.CENTER);
		Dimension d = new Dimension(1000, 50);
		panel.setPreferredSize(d);
		c.setBackground(Color.BLUE);
		panel.setBackground(Color.GRAY);
		panel.setLayout(gl);
		c.setSize(1200, 960);
		setSize(1200,960);
		panel.setVisible(true);
		
		c.setPreferredSize(d);
		
		setVisible(true);
		Button b= new Button();
		for(int i=0; i<CELLS;++i){
			
			b.setBackground(Color.WHITE);
			Dimension cellSize = new Dimension(100,100);
			b.setMinimumSize(cellSize);
			add(b);
			b.setVisible(true);
			
		}
D

Voce tem que adicionar os botoes no painel
assim:

panel.add(b);

Rickweb

ola no GUJ - Notícias, Fórum e Artigos sobre Java.htm
tem algumas coisas sobre GridLayout de uma olhada acho que pode ajudar

Criado 6 de junho de 2006
Ultima resposta 7 de jun. de 2006
Respostas 7
Participantes 4