Como dividir a janela?

5 respostas
carlitosmed

import javax.swing.JFrame;

public class Janela {

public static void main(String[] args) {
	JFrame janela = new JFrame("SUDOKU");
	janela.setSize(450, 450); //largura,altura
	janela.setLocationRelativeTo(null);        
	janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	janela.setVisible(true);
	

}

}

criei uma janela com 450 de altura e 450 de largura, eu gostaria de dividir a tela em 9 quadrados ou seja, para a criação de um sudoku, posteriormente ficariam 81 quadradinhos, como eu faria? matriz ? jpanel?

5 Respostas

drsmachado

Bom, camarada, eu faria a divisão com JPanels e, internamente, com JTextFields (afinal, a idéia do jogo é que os espaços em branco sejam preenchidos).

carlitosmed

poderia me dar um exemplo usando o código?

ViniGodoy

http://download.oracle.com/javase/tutorial/uiswing/layout/grid.html

carlitosmed
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;

import javax.swing.JFrame;

//class Janela herdando caracteristica do JFrame (titulo,borda,abrir,fechar,maximizar)
@SuppressWarnings("serial")

public class Janela extends JFrame {
			//Atributos
			public Button bt_Iniciar; //botão Iniciar que vai ser clicado para iniciar o jogo
			public Label  lb_Objetivo; //Label ou seja a parte aonde tá escrita o objetivo do jogo
			public Panel  pn_Jogo;  //Painel aonde vai tá o jogo em si
			
			//Metódo construtor
			public Janela (){
				
				//Criação de todos os componentes da interface
				this.setSize(550, 550); //altura,largura
				this.setLocationRelativeTo(null); //centralizando a janela
				
				bt_Iniciar = new Button ("INICIAR JOGO"); //botao iniciar
				bt_Iniciar.setPreferredSize(new Dimension(0, 50)); //largura, altura do botão
				lb_Objetivo = new Label  ("OBJETIVO DO JOGO: utilizar nº de 1 a 9 p/ completar linhas e colunas sem que tenha repetição");//objetivos do jogo
				lb_Objetivo.setPreferredSize(new Dimension(0, 50));//
				pn_Jogo		= new Panel	 ();
				
				Panel painelNorte = new Panel();
				painelNorte.setLayout(new GridLayout(2,3));
				painelNorte.setBackground(Color.white);
				
				painelNorte.add(bt_Iniciar);
				painelNorte.add(lb_Objetivo);
				painelNorte.add(pn_Jogo);
				
				lb_Objetivo.setBackground(Color.white);  
				lb_Objetivo.setForeground(Color.red);
				
				
				this.setLayout(new BorderLayout());
				this.add("North", painelNorte);
				this.add("Center",pn_Jogo);
				this.add("South", lb_Objetivo);
				
				
				
				
				
				
				
			}
			
	
	
	
	@SuppressWarnings("deprecation")
	public static void main(String[] args) {
		Janela minhaJanela = new Janela();
	    minhaJanela.show();


	}

}

Agora eu queria tipo, no centro "center" colocar um GridLayout (9,9) como que eu faço? ou seja colocar 81 quadrados na forma de botoes no centro

ViniGodoy
  1. Crie um novo JPanel;
  2. Define ele como GridLayout de 9x9;
  3. Adiciona no center.
Criado 23 de junho de 2011
Ultima resposta 26 de jun. de 2011
Respostas 5
Participantes 3