Ei! Então, faço parte de uma equipe de fornecedores de Swing Screen e tenho recebido muitas perguntas sobre como usar o BorderLayout em uma Swing Screen. Hoje, vou explicar para você passo a passo.
Primeiramente, o que diabos é BorderLayout? Bem, é um dos gerenciadores de layout da API Swing do Java. Os gerentes de layout são como os arquitetos de uma GUI (Graphical User Interface). Eles decidem como todos os componentes, como botões, campos de texto e rótulos, serão organizados na tela. BorderLayout divide o contêiner em cinco regiões: NORTE, SUL, LESTE, OESTE e CENTRO.
Vamos começar com um pouco de código. Aqui está um exemplo super simples de configuração de uma Swing Screen básica com BorderLayout:
importar javax.swing.*; importar java.awt.*; classe pública BorderLayoutExample { public static void main(String[] args) { JFrame frame = new JFrame("BorderLayout Demo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(novo BorderLayout()); JButton norteButton = new JButton("Norte"); frame.add(northButton, BorderLayout.NORTH); JButton sulButton = new JButton("Sul"); frame.add(southButton, BorderLayout.SOUTH); JButton eastButton = new JButton("Leste"); frame.add(eastButton, BorderLayout.EAST); JButton westButton = new JButton("Oeste"); frame.add(westButton, BorderLayout.WEST); JButton centerButton = new JButton("Centro"); frame.add(centerButton, BorderLayout.CENTER); frame.pack(); frame.setVisible (verdadeiro); } }
Neste código, primeiro criamos umJFrame, que é como a janela da nossa tela Swing. Então definimos seu layout paraBorderLayout. Depois disso, criamos cincoBotão Jcomponentes e adicionar cada um a uma região específica doBorderLayout. ONORTEregião está no topo,SULna parte inferior,LESTEà direita,OESTEà esquerda, eCENTRONo meio.
O legal do BorderLayout é como ele lida com o redimensionamento de componentes. OCENTROO componente ocupará todo o espaço restante após o preenchimento das outras regiões. Por exemplo, se você redimensionar o quadro, oCENTRObotão irá expandir ou diminuir para caber no espaço disponível.
Agora, aqui estão alguns cenários do mundo real onde você pode querer usar BorderLayout em uma tela Swing. Digamos que você esteja criando um aplicativo para umLicor Negro de Polpaplanta de processamento. Você poderia usar oNORTEregião para exibir o logotipo ou um título da planta. OSULregião pode ter barras de status mostrando o status da operação atual ou mensagens de erro. OOESTEeLESTEregiões podem ser usadas para menus de navegação ou painéis de controle. E oCENTROregião pode exibir os principais dados de processamento ou um feed ao vivo da planta.
Vamos falar um pouco mais sobre as propriedades de cada região.
- NORTE e SUL: essas regiões são usadas para itens que deveriam estar na parte superior ou inferior da tela, como cabeçalhos e rodapés. Eles se estendem horizontalmente e têm uma altura fixa (geralmente a altura exigida pelos componentes que contêm).
- LESTE e OESTE: Estes são para barras laterais. Eles se estendem verticalmente e têm largura fixa.
- CENTRO: Como eu disse antes, ocupa todo o espaço restante. Isso é ótimo para a área de conteúdo principal do seu aplicativo.
Agora vamos ver o que acontece quando você deseja adicionar vários componentes a uma única região. Nesse caso, você pode usar um JPanel. UMJPanelé um contêiner que pode conter vários componentes e você pode definir seu próprio gerenciador de layout.
Veja como você pode adicionar vários botões aoNORTEregião usando umJPanel:
importar javax.swing.*; importar java.awt.*; public class MultipleComponentsInRegion { public static void main(String[] args) { JFrame frame = new JFrame("Vários componentes no NORTE"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(novo BorderLayout()); JPanel nortePanel = new JPanel(); nortePanel.setLayout(novo FlowLayout()); JButton botão1 = new JButton("Botão 1"); JButton botão2 = new JButton("Botão 2"); nortePanel.add(botão1); nortePanel.add(botão2); frame.add(northPanel, BorderLayout.NORTH); frame.pack(); frame.setVisible (verdadeiro); } }
Neste código, criamos umJPanele defina seu layout paraFlowLayout(outro gerenciador de layout que organiza os componentes em linha, da esquerda para a direita). Em seguida, adicionamos dois botões aoJPanele adicione oJPanelpara oNORTEregião doBorderLayout.
Outra coisa a observar é que você não precisa usar todas as cinco regiões. Por exemplo, se você precisar apenas de um cabeçalho e de uma área de conteúdo principal, basta usar oNORTEeCENTROregiões.
importar javax.swing.*; importar java.awt.*; public class TwoRegionsExample { public static void main(String[] args) { JFrame frame = new JFrame("Duas Regiões"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(novo BorderLayout()); JLabel norteLabel = new JLabel("Cabeçalho"); frame.add(northLabel, BorderLayout.NORTH); JTextArea centerTextArea = new JTextArea("Este é o conteúdo principal."); frame.add(centerTextArea, BorderLayout.CENTER); frame.pack(); frame.setVisible (verdadeiro); } }
Vamos também abordar algumas dicas e truques ao usar o BorderLayout.
- Considerações sobre redimensionamento: Lembre-se que o
CENTROO componente será redimensionado para preencher o espaço disponível. Se você tiver componentes em outras regiões que não deseja redimensionar, certifique-se de definir seus tamanhos preferidos de forma adequada. - Hierarquia de componentes: Como mostrado no
JPanelPor exemplo, você pode criar uma hierarquia de componentes para gerenciar layouts complexos. Você não está limitado apenas às cinco regiões do BorderLayout; você pode aninhar outros contêineres e layouts dentro dele.
Se você estiver trabalhando em um projeto relacionado a equipamentos de celulose e papel, como um sistema de controle para umTriturador de parafusoou umRefinador de Consistência Média, o uso do BorderLayout pode ajudá-lo a organizar sua GUI de maneira eficaz. Por exemplo, você pode usar oOESTEregião para o painel de controle ajustar a velocidade do triturador ou as configurações de consistência do refinador, enquanto oCENTROregião pode exibir dados em tempo real sobre a operação do equipamento.
Concluindo, BorderLayout é um gerenciador de layout realmente poderoso e flexível para Swing Screens. É ótimo para criar GUIs simples a moderadamente complexas. Esteja você construindo um aplicativo para uma fábrica de celulose ou qualquer outro tipo de sistema, saber como usar o BorderLayout fornece uma base sólida para criar uma interface organizada e amigável.


Se você estiver interessado em obter uma solução Swing Screen para o seu negócio ou projeto, adoraríamos conversar. Sinta-se à vontade para entrar em contato para uma discussão sobre compras. Podemos trabalhar juntos para descobrir o melhor layout e design para suas necessidades específicas.
Referências
- Os Tutoriais Java - Criando uma GUI com Swing. Oráculo.
- Swing: um guia para iniciantes. Herbert Schildt.
