funktion im hauptthread pausieren

moin moin

hab mal wieder ein problem
ich habe eine funktion geschrieben die eine html seite runterläd gesetzt den fall das ein sicherheitcode abgefragt wird soll diese funktion anhalten und erst weiter machen wenn der code vom benutzer eingegeben wurde

das sieht dann wie folgt aus:
Code:
public class Test extends JFrame implements ActionListener {
  public Test() {
  String internetseite = Fhtmlholen(link);
  }

  static String Fhtmlholen(String link, boolean codeschneiden) {
    String text = "";
    char[] htmltext;
    boolean htmlcode = false;
    int i1 = 0;

    do {
      try {
        URLConnection con = new URL(link).openConnection();
        BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
        text = "";
        while (br.ready()) {
          text = text + "\n" + br.readLine();
        }
        br.close();
      }
      catch (Exception e) {
      }
    } while(!text.contains("<html>") && !text.contains("<//html>"));
    
    if(text.contains("Sicherheitsabfrage")) {
      weiter = false;
    
      Klassesicherheitfenster codeeingeben = new Klassesicherheitfenster();
      codeeingeben.start();
        
      do {
//nur müll un die zeit zu vertreiben wie kann ich hier warten?

//        long zeit1 = 0;
//        long zeit2 = 0;
//        Date dt = new Date();
//        zeit1 = dt.getTime();
//        dt = new Date();
//        zeit2 = dt.getTime();

//        while((zeit2 - zeit1) < 1000) {
//          dt = new Date();
//          zeit2 = dt.getTime();
//        }
      } while(!weiter);

      content = "q=" + q;
      content = content + "&a=" + a;
      content = content + "&b=" + b;
      content = content + "&cbild=" + cbild;
      
      Fcontentsenden(sicherheitseite, start, content);
      text = Fhtmlholen(link, codeschneiden);
    if(codeschneiden) { ... }
    ...
    }
    public static void main(String[] args){
    JFrame rahmen = new test();
    
    WindowListener listener = new WindowAdapter() {
      public void windowClosing( WindowEvent we) {
        System.exit(0);
      }
    };

    rahmen.addWindowListener(listener);
    rahmen.setSize(fensterbreit, fensterhoch);
    rahmen.setVisible(true);
    rahmen.setResizable(false);
    rahmen.setEnabled(true);
    }
}

das problem is ja jetzt das die funktion im hauptthread ausgefürt wird und ich sie somit nicht mit sleep oder wait anhalten
ich weiss das ich das in einer extra klasse ausführen kann und da warten kann aber wenn ich das htmlholen in einem parallen thread starte dann bekomm ich ja nicht die internetseite in meine variable da das html holen manchmal etwas dauert

wie kann ich also die funktion anhalten?
 
ha hab eine lösung gefunden
keine ahnung ob das das gelbe vom ei is aber es klappt

Code:
class Klassehtmlholen extends Thread {
  public Klassehtmlholen(String seitenlink, boolean schneiden) {
    <den inhalt der funktion Fhtmlholen rein packen>
    try {
      sleep(1000);
    }
    catch (Exception e) {
    }
  }
}

wenn man das sleep in den kontruktor packt dann wird bei der initialisierung der neuen klasse der hauptthread auch zur pause gezwungen
 
Zurück