Opa,
Estou com um problema para construir a tela da minha aplicação, a idéia é ter um jogo de batalha naval.
O que eu preciso fazer:
- Pegar meu JFrame, dividir em duas colunas, um lado para cada tabuleiro;
- Além disso, minha tela precisará ter um campo embaixo que funcionará como output, então não são apenas duas colunas e sim um JFrame com duas colunas e uma terceira área abaixo;
- Cada uma das duas colunas deverá mostrar no topo o nome do jogador (pc ou humano) e abaixo o tabuleiro, que será uma matriz de botões porém com indicação de linha e coluna.
Para começar, estou utilizando um borderLayout para dividir o meu JFrame em duas colunas + uma caixa abaixo.
A dúvida é, eu preciso “preparar terreno” para o que vem aí? É preciso colocar tudo em frames ou algo do tipo?
Sou meio novato com Swing, agradeço qualquer comentário.
Muito obrigado,
Tiago
tiagokos,
Use JPanel´s para cada região da tela, assim vc teria um JPanel para cada coluna, uma para output que fique embaixo.
Dentro de cada JPanel vc coloca os componetes de cada regiao - vc pode usar um layout diferente em cada JPanel.
É mais difícil mas vc pode tbm fazer isso com GridbagLaout …
Uma opção :arrow: Altere o layout do JFrame para FlowLayout e adicione 3 JPanel, sendo que os 2 primeiros tenha borda do tipo BorderFactory.createTitledBorder, para você escrever pc e/ou humano.
Outra opção :arrow: como o luiz_renato disse, altere o layout para GridbagLayout (ou GridLayout que é mais fácil) e divida as células em 3 linhas e uma coluna, assimvocê pode colocar espaçamento vertical entre os JPanel.
Eu colocaria na área central um JPanel, com um SplitPane:
http://docs.oracle.com/javase/tutorial/uiswing/components/splitpane.html
E dentro desse SplitPane os dois paineis com o game.
Outra coisa, eu também abriria tópicos sobre interface gráfica no fórum de interface gráfica.
Vou mover esse tópico para lá.
Concordo,
Inclusive é mais simples!