eu consegui fazer de outro jeito...
eu criei minha classe principal onde esta a barra...
e depois q eu crio ela eu chamo outra classe q eh uma thread...
a thread executa o metodo pra min...
dessa vez abre certo o dialog...mas eu nao consigo fechar ele...
eu dou um dispose(); mas nao acontece nada!!! rsrs...
o q tem de errado no meu codigo?
segue abaixo as duas classes:
JDialog:
package gui;
import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.BorderFactory;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import metodos.ThreadLoad;
@SuppressWarnings("serial")
public class Carregando extends JDialog{
private JPanel pnJanela;
private JLabel lbCarregando;
private JProgressBar barra;
public Carregando(){
try{
setSize(300,100);
setModal(true);
setUndecorated(true);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setLocationRelativeTo(null);
{
pnJanela = new JPanel();
pnJanela.setBorder(BorderFactory.createLineBorder(Color.black));
GridBagLayout layout = new GridBagLayout();
layout.columnWidths = new int[]{5,290,5};
layout.columnWeights = new double[]{0.0,0.0,0.0};
layout.rowHeights = new int[]{5,15,20,5};
layout.rowWeights = new double[]{0.0,0.1,0.0,0.0};
pnJanela.setLayout(layout);
add(pnJanela);
{
{
lbCarregando = new JLabel("Carregando...");
pnJanela.add(lbCarregando, new GridBagConstraints(1,1,1,1,0.0,0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0,0,0,0),0,0));
}
{
barra = new JProgressBar();
barra.setIndeterminate(true);
pnJanela.add(barra, new GridBagConstraints(1,2,1,1,0.0,0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0,0,0,0),0,0));
}
}
}
new ThreadLoad().iniciaLoad();
}
catch(Exception e){
new StackTrace(e, "", "Metodo principal do Dialog Carregando");
}
}
}
Thread:
package metodos;
import gui.PainelConsultarEditarPendenciaRoot;
import gui.StackTrace;
public class ThreadLoad implements Runnable{
public void iniciaLoad(){
Thread thread = new Thread(this);
thread.start();
}
public void run(){
try{
PainelConsultarEditarPendenciaRoot.btBuscar(false);
}
catch(Exception ex){
new StackTrace(ex, "", "ThreadLoad").setVisible(true);
}
}
}