/ / Centro de layout Java com dois painéis - java, swing, jpanel, gerenciador de layout, layout de borda

Centro de layout Java com dois painéis - java, swing, jpanel, gerenciador de layout, layout de borda

Em Java, ao usar o BorderLayout, é possível ter dois painéis no CENTER, mas ambos estão visíveis no formulário.

Aqui está o meu código:

    guiFrame.add(guiFieldsPanel, BorderLayout.CENTER);
guiFrame.add(guiButtonsPanel, BorderLayout.CENTER);
guiFrame.setVisible(true);

No código acima, ambos os painéis são definidos para o centro, mas só posso ver o guiButtonsPanel como está "no topo" do guiFieldsPanel.

Posso agrupar os dois painéis juntos e depois configurá-los para serem exibidos no CENTER?

Respostas:

3 para resposta № 1

Veja o Exemplo de layout aninhado para idéias sobre como combinar layouts para criar o layout desejado. POR EXEMPLO.

Talvez use uma única linha GridLayout para o centro.

guiFrame.add(guiFieldsPanel, BorderLayout.CENTER);
guiFrame.add(guiButtonsPanel, BorderLayout.CENTER);

Mas isso sugere uma coluna 2 GroupLayout como visto em esta resposta. POR EXEMPLO.


1 para resposta № 2

Você precisará criar um painel intermediário que conterá ambos guiFieldsPanel e guiButtonsPanele, em seguida, adicione-o ao layout da borda.

final JPanel centre = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
centre.add(guiFieldsPanel);
centre.add(guiButtonsPanel);

guiFrame.add(centre, BorderLayout.CENTER);
guiFrame.setVisible(true);

Você pode ajustar o layout de centre conforme apropriado para suas necessidades com respeito ao posicionamento relativo de guiFieldsPanel e guiButtonsPanel.