G
Gast
Gast
Habe ein kleines Problem,
hier der Code:
Habe in diesem Button zwei rechenintensive Schritte. Einmal der Thread thread, welcher aber auf das Ergebnis von mm warten soll. Da dies etwas dauert, wollte ich dies in einen neuen Thread packen und eine Progressbar einbauen.
Dies funktioniert nicht, der das Programm in den zweiten Thread springt (ohne Ergebnis).
Wie stelle ich das am geschicktesten an, das Thread zwei wartet ?
hier der Code:
Code:
weiter.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent el){
if(el.getSource()==weiter){
if(idsgesucht==false){
idsgesucht=true;
validate();
asslinee="";
final IDs neu = new IDs();
if(alle.getState()==true)
asslinee = "%";
if(alle.getState()==false)
asslinee = asslineeingabe.getText();
//Hier kommt Rechenintensive Operation (mm=)
mm=neu.getIDs(text.getText(), dateModel.getDate().toLocaleString(),dateModel1.getDate().toLocaleString(),asslinee);
id.clear();
for(int i=0;i<mm.getSize();i++){
id.addElement(mm.getElementAt(i).toString());
}
}else if(alleIdent.getState()==true&&idsgesucht==true){
id.clear();
for(int i=0;i<m.getSize();i++){
id.addElement(m.getElementAt(i).toString());
}
}else{
id.clear();
for(int i=0;i<t.length;i++){
id.addElement(t[i]);
}
}
idauswahl= new JList(id);
idauswahl.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
Runnable run = new Runnable(){
public void run(){
Montage_DB neu = new Montage_DB();
neu.insert(tabellenname.getText(), text.getText(), dateModel.getDate().toLocaleString(),dateModel.getDate().toLocaleString(), id);
}
};
Thread thread = new Thread(run);
thread.start();
}}});
Habe in diesem Button zwei rechenintensive Schritte. Einmal der Thread thread, welcher aber auf das Ergebnis von mm warten soll. Da dies etwas dauert, wollte ich dies in einen neuen Thread packen und eine Progressbar einbauen.
Dies funktioniert nicht, der das Programm in den zweiten Thread springt (ohne Ergebnis).
Wie stelle ich das am geschicktesten an, das Thread zwei wartet ?