Menu Dinâmico

0 respostas
N3kr0N

Opa galera! To criando um menu dinâmico aqui mas só que estou com um problema… ( obviamente :stuck_out_tongue: )
Bem é o seguinte, esse menu é criado em um JInternalFrame e o seguinte ocorre, faço uma requisição ao um webserver e ele me retorna uma coleção de objetos, pego os objetos dessa coleção e crio um array de botões. E esses botões são “colocados” em um jpanel (código abaixo), o problema é que, ao abrir a janela uma vez, ele exibe perfeitamente, limpo meu array de botões e limpo meu jpanel com um jPanel.removeAll();, mas só que ao reabrir a jinternalframe o meu menu não aparece adequadamente, somente quando eu faço um resize ou paro o cursor do mouse sobre o maximizar do meu internalframe e ai sim ele exibe meu menu.
Estou usando o look and feel Substance

Esquema:

JScrollPanel
    JPanel
        array<JToggleButton>[]

Código que cria o menu:

public void createMenu() {
        int cont = AcessoRemoto.getList(AcessoRemoto.servicoTiposPontoSelecionarTodos).size();//a minha coleção
        if (cont != 0) {
            numeroBotoes = cont;

            aLista.clear();//limpa o array de botões
            jPanel5.removeAll();//limpa o panel
                      
            for (int i = 0; i < cont; i++) {
                final int index = i;

                TipoPontoColeta pTColeta = (TipoPontoColeta) AcessoRemoto.getList(AcessoRemoto.servicoTiposPontoSelecionarTodos).get(i);//pego um objeto da minha coleção

                String nomeAcTipoPontoColeta = pTColeta.getNome();

                //BotãoMenuAcompanhamentoTipoPonto extende jToggleButton
                JToggleButton btn = new BotaoMenuAcompanhamentoTipoPonto((nomeAdjust(nomeAcTipoPontoColeta)),pTColeta);

                //cria o botão
                btn.setToolTipText(nomeAcTipoPontoColeta);
                btn.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
                btn.setPreferredSize(new java.awt.Dimension(70, 60));
                btn.setMinimumSize(new java.awt.Dimension(70, 60));
                btn.setMargin(new Insets(2, 14, 2, 14));

                btn.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);

                btn.addActionListener(new java.awt.event.ActionListener() {

                    @Override
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        menuButtonsEvent(evt, index);
                    }
                });

                aLista.add((BotaoMenuAcompanhamentoTipoPonto)btn);

                jPanel5.add(aLista.get(i), new java.awt.GridBagConstraints());//adiciona o botão no panel
                
                System.out.println("tamanho aLista: "+ aLista.size());
            }
        } else {
            JLabel semInf = new JLabel("<html><i>Não há tipos disponíveis!</i></html>");
            semInf.setForeground(new Color(83, 92, 95));
            jPanel5.add(semInf);
        }
        jPanel5.repaint();//repinta o menu
    }

bem faltou alguma coisa? vocês sabem se isso pode ser alguma coisa do Substance?
Muito obrigado galera :wink:

Criado 18 de agosto de 2009
Respostas 0
Participantes 1