Organização de controles na interface

3 respostas
G

Bem, estou uma dúvida que me parece ser simples, mas não consigo encontrar resolução.

Existem alguns controles na minha interface, e eu quero coloca-los de uma certa forma, forma esta que não alcanço de jeito algum.

A seguir, um excerto da minha classe.

public class ifrInserirGridDeLargada extends JInternalFrame implements ActionListener
{
	(...)
	
	DefaultListModel nameModel;
	JList lstNames;
	JButton btnUp = new JButton("/\\");
	JButton btnDown = new JButton("\\/");
	JButton btnCadastrar;
	JLabel lblCorrida;
	JComboBox cmbCorrida;

        public ifrInserirGridDeLargada()
	{
		super("Inserir Grid de Largada", true, true, true, true);
		this.setResizable(false);
		Container c = this.getContentPane();
		GridBagConstraints cons = new GridBagConstraints();
		GridBagLayout gbl = new GridBagLayout();
		c.setLayout(gbl);
		cons.insets = new Insets(10,10,10,10);
		cons.weighty = 1;
		
		nameModel = new DefaultListModel();
		lstNames = new JList(nameModel);
		lstNames.setVisible(true);
		
		btnCadastrar = new JButton("Cadastrar");
		lblCorrida = new JLabel("Corrida: ");
		cmbCorrida = new JComboBox();

		cons.gridx = 0;
		cons.gridy = 0;
		c.add(cmbCorrida);
		cons.gridx = 0;
		cons.gridy = 1;
		c.add(lstNames);
		cons.gridx = 0;
		cons.gridy = 2;
		c.add(btnUp);
		cons.gridx = 1;
		cons.gridy = 2;
		c.add(btnDown);
		cons.gridx = 0;
		cons.gridy = 3;
		c.add(btnCadastrar);
		
	        (...)

		btnUp.addActionListener(this);
		btnDown.addActionListener(this);
		btnCadastrar.addActionListener(this);
		
		this.setSize(600, 600); 
		this.setOpaque(true);
		this.moveToFront();
		this.show();
	}
(...)
}

Aqui, a forma como ele apresentou de resultado para minha programação.

E aqui, mais ou menos o que eu pretendia (Os controles não estão identificados, mas a ordem é a mesma da imagem anterior).

O que tenho que mudar para alcançar o desejado?

Grato desde já.

3 Respostas

G

Tava pesquisando sobre outros Layouts, mas o GridBagLayout parece ser o mais apropriado… Mas não consigo entender o porquê de tudo ter ido para uma linha…

S

Dê uma olhada no MigLayout, é bem tranquilo de usar.
http://www.miglayout.com/

G

Descobri o erro!

Simples. =)

Criado 7 de maio de 2010
Ultima resposta 7 de mai. de 2010
Respostas 3
Participantes 2