Opa galera! To criando um menu dinâmico aqui mas só que estou com um problema… ( obviamente
)
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 