[Resolvido]Como alinhar os JLabel com os JButton?

3 respostas
Allan_Barcelos

vou postar o código:

editarId = new JButton("Editar");
		editarId.addActionListener(this);
		
		editarPeso = new JButton("Editar");
		editarPeso.addActionListener(this);
		
		editarPreco = new JButton("Editar");
		editarPreco.addActionListener(this);
		
		editarGenero = new JButton("Editar");
		editarGenero.addActionListener(this);
		
		id = new JLabel("Número de Identificação: "+a.getId());
		peso = new JLabel("Peso: "+a.getPeso());
		preco = new JLabel("Preço: "+a.getPreco());
		genero = new JLabel("Genero: "+a.getGenero());

		
        exit = new JButton("Voltar");
        exit.addActionListener(this);
        
        ok = new JButton("Ok");
        ok.addActionListener(this);
        
        JPanel buttonPanel = new JPanel(); //use FlowLayout
        JPanel buttonPanel2 = new JPanel();
        JPanel buttonPanel3 = new JPanel();

        buttonPanel.setLayout(new GridLayout(0,1));
        buttonPanel2.setLayout(new GridLayout(0,1));
        buttonPanel3.setLayout(new GridLayout(0,1));
        
        buttonPanel.add(id);
        buttonPanel2.add(editarId);
        buttonPanel.add(genero);
        buttonPanel2.add(editarGenero);
        buttonPanel.add(peso);
        buttonPanel2.add(editarPeso);
        buttonPanel.add(preco);
        buttonPanel2.add(editarPreco);
        buttonPanel3.add(ok);
        buttonPanel3.add(exit);
        
        add(buttonPanel, BorderLayout.PAGE_START);
        add(buttonPanel2, BorderLayout.PAGE_START);
        add(buttonPanel3, BorderLayout.PAGE_END);
	}

Como faço para deixar alinhado os JLabel com os JButton ?

3 Respostas

E

Você pode usar um gerenciador de layout como o MiGLayout? Se puder, isso vai resolver seus problemas a médio e longo prazo. É que você por enquanto está com problemas de alinhamento de botões, mas daqui a pouco vai ter é outros problemas com sua tela e vai perder um tempo imenso só com posicionamento de componentes.
http://www.miglayout.com/
Rode a aplicação demo em
http://www.migcalendar.com/miglayout/swingdemoapp.jnlp

Marky.Vasconcelos

MigLayout não só vai resolver esse problema como outros varios que possam surgir.

Entretanto, seu código funciona com esse LayoutManager, voce pode ter varias rows para alinhar.

JPanel buttonPanel = new JPanel(new GridLayout(2,3));         
        buttonPanel.add(id);
        buttonPanel.add(editarId);
        buttonPanel.add(genero);
        buttonPanel.add(editarGenero);
        buttonPanel.add(peso);
        buttonPanel.add(editarPeso);
        buttonPanel.add(preco);
        buttonPanel.add(editarPreco);
        buttonPanel.add(ok);
        buttonPanel.add(exit);
        
        add(buttonPanel, BorderLayout.CENTER);
Allan_Barcelos

É cara testei com MigLayout e funcionou mesmo valeu

Criado 7 de junho de 2010
Ultima resposta 10 de jun. de 2010
Respostas 3
Participantes 3