Swing - Duas Colunas

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!