[Resolvido]JPane soh aparece depois de redimensionar o jframe, pq?

2 respostas
O

Bom, eu separei o JFrame em um metodo pra ele, e fiz outro metodo com o jpane, quando clico no botao abrir que adicionei junto com o jframe ele executa o metodo com o jpane, porem percebi que o jpane só aparece totalmente com o conteudo a medida que vou redimensionando a window.

Por quais razoes isso acontece pessoal? :shock:

2 Respostas

O

Complementando minha questao, ainda nao resolvida:

classe extendida ao jframe, no constructor fiz o jframe:
public class memoria extends JFrame implements ActionListener{
    memoria(){
        frame = new JFrame();
        frame.setLayout(null);
        frame.setSize(590,440);
        //----
              ///------
        panelOpcoes=new JPanel();
        panelOpcoes.setLayout(null);
        panelOpcoes.setBounds(0,10,200,40);
        panelOpcoes.setVisible(true);
        ////////
        
        abrir=new JButton("Abrir");
        abrir.setName("abrir");
        abrir.setBounds(5,0,80,28);
        abrir.addActionListener(this);
        panelOpcoes.add(abrir);
               

               frame.add(panelOpcoes);
       
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
Aqui o metodo do panel que irei chamar ao clicar em abrir do constructor:
public void tabuleiro(){
           panel=new JPanel();
           GridBagLayout layout = new GridBagLayout();
           GridBagConstraints c = new GridBagConstraints();
           panel.setLayout(layout);
           panel.setBounds(0,70,520,360);
           ////
           ImageIcon icone=new ImageIcon("iconjogo.gif");
           //
           titulo=new JLabel();
           titulo.setText("Boa sorte!");
           c.gridx=0;
           c.gridy=0;
           c.gridwidth=1;
           c.weightx=1.0;
           panel.add(titulo,c);
           //
           botoes[0]=new JButton();
           c.gridwidth = 1;
           c.gridx=0;
           c.gridy=1;
           botoes[0].setName(randomico());
           botoes[0].setIcon(icone);
           botoes[0].setContentAreaFilled(false);
           botoes[0].setBorderPainted(false);
                  panel.add(botoes[0], c);
                  botoes[0].addActionListener(this);
           //-------
///tem mais sete botoes como este de cima com icons setados
         ///--------

  frame.add(panel);
          panel.setVisible(true);
          
       }

////----chamando o metodo
 public void actionPerformed(ActionEvent e) {
         // TODO Auto-generated method stub
         if(e.getSource().equals(abrir)){
             
             tabuleiro();
             
             }
}

Deveria aparecer o jpanel ao executar o metodo, certo? mas soh aparece eu dando uma esticada no jframe

O

Resolvido, no action pus panel.validate(); apos o o metodo.

Criado 24 de julho de 2005
Ultima resposta 24 de jul. de 2005
Respostas 2
Participantes 1