Olá pessoal!
Estou com um problema com a classe JDialog.
Estou escrevendo uma classe que abre um JDialog e insere componentes nesse JDialog, depois que o JDialog estiver aberto.
O problema é que depois que eu crio o JDialog e mando ficar visível (setVisible(true)), os componentes que eu adiciono dinamicamente não estão aparecendo.
Por ex.: O JDialog está aberto e eu digito um comando para ir adicionando componentes na tela enquanto o JDialog está aberto.
Eu olhei na documentação Java e vi que o método validate() serve para atualizar os componentes da tela.
Quando eu faço isso usando um JFrame, o método validate() funciona, mas com o JDialog não funciona.
Essa é o método que eu estou tentando fazer.
public void add(Component comp, int linha, int coluna, int tamanho) {
comp.setFont(this.getFont());
ComponentProperties p = calculaTamanhos(linha, coluna, tamanho);
if (comp instanceof JTextField) {
JTextField jtext = (JTextField) comp;
jtext.setMargin(new Insets(-1, 0, -1, -1));
add(jtext, new AbsoluteConstraints(p.getX(), p.getY(), p.getTamanho(), p.getAltura()));
} else {
add(comp, new AbsoluteConstraints(p.getX(), p.getY(), p.getTamanho(), p.getAltura()));
}
validate(); //Não funciona... já tentei comp.validate(), validate(), repaint(), comp.repaint()
}
O JDialog aparece, mas os componentes que eu adiciono, não.
já tentei colocar comp.validate(), validate(), repaint(), comp.repaint()
Alguém sabe que outro método eu posso usar pra atualizar minha tela e mostrar os componentes que eu adiciono dinamicamente?
Obrigada