OutputStream zum Zweiten


  • karlmosh
  • 917 Aufrufe 4 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • OutputStream zum Zweiten

    Hallo Leute,
    ich habe mal wieder eine Frage zu dem OutputStream der Klasse System.

    Ich habe eine Swing-Anwendung geschrieben und will, dass alles was per System.out.println() eigentlich auf der Konsole ausgegeben würde, auch/nur in einem jTextArea-Dialog-Element erscheint. Bin nur noch nicht durchgestiegen wie das am besten geht.

    Mit

    Quellcode

    1. BufferedReader br=new BufferedReader(new InputStreamReader(System.in));


    kann ich den Text der auf der Konsole erscheint auslesen, brauch ich dann irgendwie einen Thread, der in einer Endlosschleife den BufferedReader ausliest?
    Zirca so:

    Quellcode

    1. public void setBufferedReader(BufferedReader br) throws IOException
    2. {
    3. String string=br.readLine();
    4. while(string!=null)
    5. {
    6. jTextArea1.append(string);
    7. jTextArea1.append("\n");
    8. string=br.readLine();
    9. }
    10. }


    Gruß und danke für etwaige Hinweise ;)
  • karlmosh schrieb:

    Mit

    Quellcode

    1. BufferedReader br=new BufferedReader(new InputStreamReader(System.in));


    kann ich den Text der auf der Konsole erscheint auslesen

    Nicht wirklich, sondern nur den Text, den der Benutzer in die Konsole eingibt.

    Das heißt, das

    Quellcode

    1. while(string!=null)
    2. {
    3. jTextArea1.append(string);
    4. jTextArea1.append("\n");
    5. string=br.readLine();
    6. }

    ist tatsächlich eine Endlosschleife. Du kannst es ja ausprobieren, du wirst auf der Konsole unendlich lange / oft was eintippen können. null wird es nie, weil mindestens "\n" dabei ist, wenn man Enter drückt.


    Ich [...] will, dass alles was per System.out.println() eigentlich auf der Konsole ausgegeben würde, auch/nur in einem jTextArea-Dialog-Element erscheint.


    Du entscheidest doch selbst, was du mit System.out.println() ausgibst. :confused:
    Das heißt, wenn bei dir "System.out.println(irgendwas)" steht, dann machste halt noch / nur "jTextArea1.append(irgendwas)".

    Wo ist denn das Problem?
    Wo ist der Discord Server
  • Um es allgemeiner zu formulieren:

    Ich will ein Programm schreiben, das einerseits auf der Konsole ausgeführt werden kann (ohne GUI) und andererseits mit GUI, also etwas mehr Komfort.

    Dafür suche ich nach einer Möglichkeit, das, was ich im Konsolenbasierten Modus auf der Konsole per System.out.println() ausgebe auch im GUI-Modus direkt in der GUI ausgeben kann. Dafür möchte ich aber auch die System.out.println()-Methode nutzen.

    System.out.println("TEXT") -> auf der Konsole und in der GUI "TEXT" ausgeben.

    Habe jetzt ein Workaround ... aber theoretische müsste es doch möglich sein?