Adicionar componente no netbeans

Olá.
Tenho um JFrame pronto e gostaria de adicionar um ChartPanel dentro de um Panel
Mas esse chartPanel eu que estou criando, quando executo não aparece no Frame

[code]ChartPanel cp = CriaGrafico.getGrafico();

   jpGraf.add(cp);
   jpGraf.repaint();labe
   jpGraf.revalidate();
   jpGraf.setVisible(true);[/code]

Esse jpGraf é um jpanel adicionado direto no netbeas…
O problema é que nao consigo adicionar o objeto cp ao jpGraf

obs: o jpGraf está dentro de um outro Panel, e o codigo gerado pelo netbeans tem um GroupLayout que la é adicionado outros componentes… será que tem alguma relação com o problema?

Muito obrigado.

O GroupLayout influencia sim. Teve um tópico com o mesmo problema no mês passado, que foi resolvido setando BorderLayout no painel, assim o componente se redimensionará ocupando todo o espaço do painel.

Antes de adicionar seu gráfico, especifique o layout:

jpGraf.setLayout(new BorderLayout());

PS.: BorderLayout é apenas um exemplo, pode usar qualquer um que faça o redimensionamento.

Cara, num deu certo nao, to colocando esse código no construtor do JFrame

fiz isso:

[code] ChartPanel cp = CriaGrafico.getGrafico();

    cp.setBorder(javax.swing.BorderFactory.createEtchedBorder());

     jpGraf.add(cp);
     jpGraf.repaint();
     jpGraf.revalidate();
     jpGraf.setVisible(true);
     jpGraf.setLayout(new BorderLayout());[/code]

[code] ChartPanel cp = CriaGrafico.getGrafico();

    cp.setBorder(javax.swing.BorderFactory.createEtchedBorder());

     jpGraf.setLayout(new BorderLayout());
     jpGraf.add(cp);
     jpGraf.repaint();
     jpGraf.revalidate();
     jpGraf.setVisible(true);[/code]

rsrsrs :lol: nem tinha percebido, é isso mesmo, deu certíssimo… Obrigadão,

Uma outra solução que vi aqui que pode ser definida igual o codigo gerado pelo netbeans…

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addGap(50, 50, 50) .addComponent(cp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) ) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addGap(66, 66, 66) .addComponent(cp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) ) );

vlw cara, obrigadão mesmo.

Com outros LayoutManagers também seria possível o mesmo efeito. Não tinha sugerido com GroupLayout, porque eu não saberia colocar o exemplo, quem sabe usá-lo é o NetBeans. :smiley:

Falou…