[RESOLVIDO] Swing: alinhar componentes na tela

4 respostas
H

Preciso alinhar e ajustar o tamanho dos componentes da janela na imagem abaixo de forma que fique mais “apresentável”.
Essa janela é um JFrame com JPanel e seus componentes. Já li e já pesquisei sobre layout (inclusive baixei o SpringLayout.java), já os testei, mas não consegui o resultado desejável.
Alguém tem uma sugestão?

4 Respostas

edu_Java

htraos:
Preciso alinhar e ajustar o tamanho dos componentes da janela na imagem abaixo de forma que fique mais “apresentável”.
Essa janela é um JFrame com JPanel e seus componentes. Já li e já pesquisei sobre layout (inclusive baixei o SpringLayout.java), já os testei, mas não consegui o resultado desejável.
Alguém tem uma sugestão?

Ola vc nao queria me comunicar mellhor com o seu projeto ou seja entrar em contato

Nicolas_Fernandes

Oi, htraos!
Beleza?

Eu, particularmente, usaria o MigLayout.
Com isso, ficaria algo mais ou menos assim (tá meio no olho, mas já ajuda):

public class Main {

    public static void main(String[] args) {

        try {

            InterfaceGUI interfaceGUI = new InterfaceGUI();
            interfaceGUI.exibirFormulario();
        }
        catch (Exception err) {

            err.printStackTrace();
        }
    }

    private static class InterfaceGUI extends JFrame {

        public InterfaceGUI() {

            try {

                carregarConfiguracoesIniciais();
                add(recuperarPanelSenha());
            } 
            catch (Exception err) {
                err.printStackTrace();
            }
            
        }
        public void exibirFormulario() {

            pack();
            setLocationRelativeTo(null);
            setVisible(true);
        }
        private void carregarConfiguracoesIniciais() throws Exception {

            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setResizable(false);
        }

        public JPanel recuperarPanelSenha() {

            JPanel panelSenha = new JPanel(new MigLayout(""));
            JPanel panelDadosAcesso = new JPanel(new MigLayout(""));
            JPanel panelBotoes = new JPanel(new MigLayout(""));

            panelBotoes.add(new JButton("OK"), "growx");
            panelBotoes.add(new JButton("Cancelar"), "growx");

            panelDadosAcesso.add(new JLabel("Digite a senha:"), "gap right 5");
            panelDadosAcesso.add(new JTextField(20), "growx");

            panelSenha.add(panelDadosAcesso, "split 2, wrap");
            panelSenha.add(panelBotoes, "align right");
            return panelSenha;
        }
    }
}
gabrielhof

FormLayout não bomba?

H

Era isso mesmo, Nicolas Fernandes! Muito obrigado!

gabrielhof, o MigLayout sugerido pelo amigo acima era exatamente o que eu queria fazer, mas vou dar uma olhada no FormLayout. Obrigado pela dica!

Criado 4 de agosto de 2011
Ultima resposta 4 de ago. de 2011
Respostas 4
Participantes 4