Problemas com layout

5 respostas
tabocu
public class JKSGraph extends JPanel{
	GridBagConstraints layout;
	public JKSGraph(){
		super();
		layout = new GridBagConstraints();
		this.setLayout(new GridBagLayout());
		layout.gridx = 0;
		layout.gridy = 0;
		layout.anchor = layout.PAGE_START;
		this.add(new JKSTools(),layout);
		
		layout.gridx = 0;
		layout.gridy = 1;

		this.add(new JKSPanel(),layout);
		layout.gridx = 0;
		layout.gridy = 2;
		layout.anchor = layout.PAGE_END;
		this.add(new JKSTools(),layout);
	}
}

Oi gente, to com o seguinte problema,
Eu tenho uma aplicação que segue o seguinte esquema: uma barra de ferramentas no topo, e uma barra de ferramenta em baixo (uma deve ficar SEMPRE no extremo topo e a outra sempre em baixo)

a minha classe JKSPanel usa layout null. Por conta disso nao fica essas barras minhas nao ficam aonde quero. Elas ficam juntas no centro. Como faço pra resolver isso?

5 Respostas

tabocu


Era pros sliders ficarem colados no topo e em baixo quando redimensionei

tabocu

O Main

public static void main(String[] args) {
		JFrame frame = new JFrame("JKSGraph v1");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		frame.add(new JKSGraph());
		
		
	    frame.pack();
	    frame.setVisible(true);
	}
Eric_Yuzo
O que você precisa é que a célula onde está JKSPanel cresça, é isso? Se for, deve especificar um peso (weight) para a célula.
layout.gridx = 0;
		layout.gridy = 1;
		layout.weighty = 1;

		this.add(new JKSPanel(),layout);
E não esqueça de zerar o weighty quando for adicionar o último painel. Em minha opinião, usar o mesmo GridBagConstraints para configurar todas as células acaba confundindo um pouco.
tabocu

são só tres celulas e por enquanto to entendendo o funcionamento. nao e definitivo
mas a proposito…nao funcionou =/

Eric_Yuzo
Copiei o código e testei com labels e apareceu normal. Não sei porque não está funcionando com os paineis.
public class Teste extends JPanel{
	GridBagConstraints layout;
	
	public Teste(){
		super();
		layout = new GridBagConstraints();
		this.setLayout(new GridBagLayout());
		layout.gridx = 0;
		layout.gridy = 0;
		layout.anchor = GridBagConstraints.PAGE_START;
		this.add(new JLabel("Alto"),layout);
		
		layout.gridx = 0;
		layout.gridy = 1;
		layout.weighty = 1;
		layout.anchor = GridBagConstraints.CENTER;

		this.add(new JLabel("Centro"),layout);
		layout.gridx = 0;
		layout.gridy = 2;
		layout.weighty = 0;
		layout.anchor = GridBagConstraints.PAGE_END;
		this.add(new JLabel("Baixo"),layout);
	}
}
public class TesteJanela extends JFrame {
	
	public TesteJanela() {
		super("Teste");
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		getContentPane().add(new Teste());
		pack();
	}
	
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			@Override
			public void run() {
				new TesteJanela().setVisible(true);
			}
		});
	}

}
Criado 5 de janeiro de 2011
Ultima resposta 5 de jan. de 2011
Respostas 5
Participantes 2