Como colocar Um GridLayout dentro de Um BorderLayout em java?

0 respostas
java
E

Gente estou com um problema no meu codigo que não consigo resolver…
estou querendo adicionar uma grid de botoes de 8x8 dentro de um borderLayout na parte central…
ja tentei no construtor, com metodos mas não consegui… preciso muito disso pois é um trabelho pra universidade, por favor preciso de ajuda… Segue o codigo abaixo do que esta pronto…

public class Tabuleiro extends JFrame implements ActionListener{

JPanel panel = new JPanel();
//====================================================================
//parte do border
private JButton[] buttonsBorder;// para ocultar aas partes
private static final String[] namesBorder = {"Região Central","Região Oeste"};//cria um vetor com esses nomes
private BorderLayout layout;//objeto para o borderLayout
//=========================================================================
//parte do tabuleiro com grid
private JButton[] buttons;
private static final String[] names = {"0,0","0,1","0,2","0,3","0,4","0,5", "0,6", "0,7"
		,"1,0","1,1","1,2","1,3","1,4","1,5","1,6","1,7"
		,"2,0","2,1","2,2","2,3","2,4","2,5","2,6","2,7"
		,"3,0","3,1","3,2","3,3","3,4","3,5","3,6","3,7"
		,"4,0","4,1","4,2","4,3","4,4","4,5","4,6","4,7"
		,"5,0","5,1","5,2","5,3","5,4","5,5","5,6","5,7"
		,"6,0","6,1","6,2","6,3","6,4","6,5","6,6","6,7"
		,"7,0","7,1","7,2","7,3","7,4","7,5","7,6","7,7"};
//private boolean toggle = true;//altera para outro layout
private Container container;// container do frame
private GridLayout gridLayout;//primeiro grid
//private GridLayout gridLayout2;//segundo Grid
//==================================================================================

//cria o construtor
public Tabuleiro() {

	super("Jogo de Damas");//cria o titulo do frame

	//borderDoTabuleiro();//cria o border do tabuleiro
	criaTabuleiro();//cria o tabuleiro de grid
	//criaTabuleiro2();

}//fim do construtor do frame	

//cria o border do tabuleiro
public void borderDoTabuleiro(){

	layout = new BorderLayout(2,2);//aqui define quaqntas bordas eu quero
	setLayout(layout);//aqui eu posso fazer configurações
	buttonsBorder = new JButton[namesBorder.length];// aqui definesse o tamanho do meu array que neste caso é 5 pela quantidades de nomes colocados

	//CRIA O JBUTONS E CRIA OS OUVINTES PARA ELES 

	for (int Count = 0; Count < namesBorder.length; Count++) {

		buttonsBorder[Count] = new JButton(namesBorder[Count]);
		//names[Count].addActionListener(this);//esse aqui é para ouvir			
	}//for final

	//adicionar os botões no Border

	add(buttonsBorder[0], BorderLayout.CENTER);		
	add(buttonsBorder[1], BorderLayout.EAST);	
}

//cria um tabuleiro com um grid
private void criaTabuleiro() {		

	gridLayout = new GridLayout(8,8,5,5);//2x3 espaçamento de 2
	container = getContentPane(); //obtem o painel de conteudo;
	setLayout(gridLayout);//configura o layout do frame
	buttons = new JButton[names.length];//cria o array de botoes

	for (int Count = 0; Count < names.length; Count++) {
		buttons[Count] = new JButton(names[Count]);
		buttons[Count].addActionListener(this);
		add(buttons[Count]);
	}//fim do for		

}//fim do construtor

@Override
public void actionPerformed(ActionEvent e) {

	System.out.println("Clicou!!");	

}

}
public class DamasPrincipal {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Tabuleiro tabuleiro = new Tabuleiro();
	tabuleiro.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	tabuleiro.setSize(800,500);
	tabuleiro.setVisible(true);
	tabuleiro.setLocationRelativeTo(null);
}

}

Criado 5 de janeiro de 2018
Respostas 0
Participantes 1