Boa Tarde pessoal,
antes que o pessoal mande eu procurar no search do forum, google, artigos e afins, eu ja busquei porem não achei nenhum caso parecido com o meu, e as possíveis soluções infelizmente não funcionaram, então vamos ao caso:
Na minha tela principal do sistema, tem um JTabbedPane, nele há 2 abas, na primeira eu inseri um JPanel dentro como no codigo abaixo:
//Criando as abas do sistema.
JTabbedPane tabs = new JTabbedPane(
JTabbedPane.TOP, JTabbedPane.SCROLL_TAB_LAYOUT );
tabs.addTab("Monitoramento Dispositivos", panelDispositivosPai.getPanel());
tabs.addTab("Historico de Monitoramentos", new JPanel());
add(tabs);
até aqui tudo certo, dentro desse JPanel eu irei inserir outros JPanels “filhos” dele, para organiza-los eu setei o GridBagLayout no JPanel “Pai”, e o mesmo eu fiz com os “filhos” para organizar os componentes deles, como no codigo abaixo:
[code]package simelcom.br.view;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class PanelDispositivo{
private GridBagLayout layoutGeral;
private GridBagConstraints constraintsGeral;
private GridBagLayout layoutDispositivo;
private GridBagConstraints constraintsDispositivo;
private JPanel panelDispositivosPai = new JPanel();
private JPanel panelDispositivoFilho;
private JLabel nomeDispositivo;
private JLabel consumoDispositivo;
private JTextField retornoConsumoDispositivo;
private JLabel custoDispositivo;
private JTextField retornoCustoDispositivo;
private JButton chaveDispositivo;
public PanelDispositivo()
{
layoutGeral = new GridBagLayout();
constraintsGeral = new GridBagConstraints();
panelDispositivosPai.setLayout(layoutGeral);
constraintsGeral.fill = GridBagConstraints.BOTH;
constraintsGeral.insets = new Insets(5,5,5,5);
addComponent(panelDispositivosPai, constraintsGeral, layoutGeral, novoPanelDispositivo(), 1, 1, 3, 4);
}
public Component getPanel()
{
return panelDispositivosPai;
}
public JPanel novoPanelDispositivo()
{
GridBagLayout layoutDispositivo = new GridBagLayout();
GridBagConstraints constraintsDispositivo = new GridBagConstraints();
panelDispositivoFilho = new JPanel();
panelDispositivoFilho.setLayout(layoutDispositivo);
panelDispositivoFilho.setBackground(new Color(912911));
constraintsDispositivo.fill = GridBagConstraints.HORIZONTAL;
nomeDispositivo = new JLabel("NOME DISPOSITIVO", SwingConstants.CENTER);
addComponent(panelDispositivoFilho, constraintsDispositivo, layoutDispositivo, nomeDispositivo, 1, 1, 1, 1);
consumoDispositivo = new JLabel("Consumo:");
addComponent(panelDispositivoFilho, constraintsDispositivo, layoutDispositivo, consumoDispositivo, 2, 1, 1, 1);
/*
retornoConsumoDispositivo = new JTextField("14" + " Kw/h");
retornoConsumoDispositivo.setEditable(false);
dispositivoPanel.add(retornoConsumoDispositivo);
custoDispositivo = new JLabel("Custo:");
dispositivoPanel.add(custoDispositivo);
retornoCustoDispositivo = new JTextField("R$ " + "5,4");
retornoCustoDispositivo.setEditable(false);
dispositivoPanel.add(retornoCustoDispositivo);
chaveDispositivo = new JButton("ON");
chaveDispositivo.setBackground(new Color(1));
dispositivoPanel.add(chaveDispositivo);*/
return panelDispositivoFilho;
}
private void addComponent(JPanel panel, GridBagConstraints constraints, GridBagLayout layout, Component component, int row, int column, int width, int height)
{
constraints.gridx = column;
constraints.gridy = row;
constraints.gridwidth = width;
constraints.gridheight = height;
layout.setConstraints( component, constraints);
panel.add( component );
}
}
[/code]
Entao pessoal, o drama é o seguinte: eu não consigo manipular a posição do JPanel filho de jeito nenhum, tentei pelo anchor do constraints, pelo proprio panel, pelo pai, e não consegui mudar ele de lugar, eu acredita que pudesse ser o anchor pois ele fica no Centro, e como o anchor vem com CENTER como padrao, poderia ser isso, mas não consegui mexer ele.
Sou novato com relação a linguagem e o Swing, logo relevem se houverem erros bem feios xP uehuehhue!
Obrigado pela atenção pessoal!
ps.: Quem não conhecer sobre segue um link com um tutorial legal:
http://www.javafree.com.br/javabb/viewtopic.jbb?t=5792