PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java Konsole



Jor
11-12-2006, 07:17
Hallo zusammen,

ich möchte gerne eine, oder die, Konsole während der Ausführung der Java-Anwendung mit laufen lassen. Ich würde mir darin gerne beim Ablaufen die System.out.PrintLn Informationen anzeigen lassen.

Kann mir jemand sagen wie ich das hinbekomme?

bischi
11-12-2006, 07:47
Deine Anwendung gleich in der Konsole starten?

MfG Bischi

Jor
11-12-2006, 09:34
Hi bischi,
nee, ich habe eine Anwendung, wenn diese gestartet ist möchte ich ein Fenster haben, in dem die System.out.p... und weitere Sachen wie Exeptions
angezeigt werden. Dazu wollte ich nicht eine eigene Klasse erstellen, als Fenster quasi, sondern so wie ich es irgendwo mal aufgeschnappt habe, sollte eine Konsole parallel laufen. Konsole ist vielleicht die falsche Bezeichnung, ich meine also kein CMD-Fenster oder so. Es sieht so aus wie eine zusätzliche Form, mit einem mehrzeiligen Textfeld (?) und soll nicht bearbeitbar sein.

bischi
11-12-2006, 10:14
Ich schnall immer noch nicht, was genau du willst....

Ich starte Java-Anwendungen meist aus der Konsole (=Kommandozeile, Shell,...) raus:

java MeinProgramm
Somit sehe ich dann auch gleich alles System.out.print... und alle Fehlermeldungen in der Konsole...

Wenn ich dich jetzt recht verstanden habe, so möchtest du gerne ein Fenster haben, in welchem die ganzen Angaben zusätzlich nochmals sichtbar sind?

Falls ja: Wieso? Ist dir die Konsole zu wenig schön? Falls ja, kannst du dein Programm ja so starten:

java MeinProgramm > MeinTextfile
Dann hast du die ganzen Ausgaben in nem separaten Textfile...

Vielleicht solltest du nochmals konkret erklären, was genau du haben willst und warum du genau diese Lösung willst (vielleicht kennt jemand ja ne bessere für dein Problem). Skizzen, Screenshots,... würden sicherlich weiterhelfen...

:confused: Bischi

mamue
11-12-2006, 10:40
Wie bischi ja schon sagte (im Prinzip), system.out schreibt halt in die Standardausgabe und die existiert eben nur dann, wenn das Programm von der Konsole gestartet wurde. Du kannst system.out IIRC auch innerhalb von Java umleiten, ewa in eine Datei. Sicherlich könnte man die Ausgabe auch in ein Fenster (Canvas etc) umleiten, Du müsstest halt nur eine Klasse schreiben, die vom passenden Ausgabestrom erbt und als Datenmodel für Dein Ausgabedingens taugt.
Wenn es Dir speziell um Fehlermeldungen geht, könntest Du auch die Logging-API verwenden, das wird wohl der bessere Weg sein.

HTH,
mamue

nul
11-12-2006, 10:42
Wie waers, wenn du an System.out bzw. System.err einen PrintStream haengst und den dann in deinem Programm anzeigst.

Jor
11-12-2006, 10:45
Hhmm, ich wollte dich und auch niemand anderen verwirren, ich werde nochmals versuchen zu beschreiebn was ich möchte.
Betriebssystem = Windows (erstmal), IDE ist NetBeans BETA 5.5.
Ich habe eine Anwendung erstellt und möchte mir bei Aufruf von Methoden etc. ein System.out.PrintLN in einem extra Fenster (das zu- und wegschaltbar ist) anzeigen lassen, wenn die Anwendung nicht in der IDE läuft.
Ich habe mir gedacht, dass es dazu schon eine Klasse o. ä. gibt, ode rgeht es nur so, dass ich mir selber ein Fenster bauen muß?
Besser kann ich es nicht beschreiben.

Jor
11-12-2006, 10:49
Hallo mamue und nul,

ich bin noch nicht so erfahren in Java und kann mir zwar schon vorstellen, was ihr meint, aber umsetzen könnte ich das jetzt nicht sofort.
Das mit dem PrintStream klingt sehr interssant für mich, gibt es dazu vielleicht ein Beispielcode? Die Logging-API wird wohl im zweiten Step kommen.

nul
11-12-2006, 10:55
Der Printstrem fuer System.out und System.err zu setzen ist relativ einfach.
Dazu gibt es Methoden in der Klasse System: setErr(PrintStream err) und setOut(PrintStream out) .

bischi
11-12-2006, 11:50
Nochmals die Frage: Was spricht dagegen, für die Ausgabe einfach die Kommandozeile zu verwenden?

Starten mit Kommandozeile: Erstelle Batch-Datei "start.bat"

java MeinProgramm
pause


Starten ohne Kommandozeile: Erstell aus der Anwendung ein JAR, welches durch Doppelklicken ausgeführt wird...

Was spricht also gegen den üblichen Standardweg?

MfG Bischi

Jor
11-12-2006, 12:04
Ich werde die zwei Startmethoden ausprobieren.
In der Dok habe ich auch etwas zum PrintStream gefunden, so wie ich denke, habe ich jetzt alle nötige Info zusammen um weiter zu kommen.
Vielen Dank euch alllen!!! :)

peschmae
11-12-2006, 17:54
Nochmals die Frage: Was spricht dagegen, für die Ausgabe einfach die Kommandozeile zu verwenden?


Du hast schon lange nicht mehr Windows benutzt! Dort ist die Konsole hässlich dumm und schwarz, meist reicht das um unbedarfte Benutzer zu verscheuchen ;)

MfG Peschmä, der gerade mit einem Programm namens "ed" gearbeitet hat. *Das* ist ein Editor zum weglaufen. :D

bischi
12-12-2006, 20:54
Du hast schon lange nicht mehr Windows benutzt! Dort ist die Konsole hässlich dumm und schwarz, meist reicht das um unbedarfte Benutzer zu verscheuchen ;)
Ich weiss schon, wie hässlich die Windows-cmd ist - aber zum ein Java-Proggi starten reicht sie bei weitem aus! :D


MfG Peschmä, der gerade mit einem Programm namens "ed" gearbeitet hat. *Das* ist ein Editor zum weglaufen. :D

Wieso? Hast du ein Linux-Smartphone gekauft? ( http://ars.userfriendly.org/cartoons/?id=20061203 )

MfG bischi

peschmae
13-12-2006, 10:08
Wieso? Hast du ein Linux-Smartphone gekauft? ( http://ars.userfriendly.org/cartoons/?id=20061203 )


Fast. Handelte sich um einen Scara-Robot mit prähistorischem Steuersystem - d.h. undefinierbares OS, unverkennbarer ed und proprietäre Bildverarbeitungsmechanismen fürs Vision-System.

Hat aber funktioniert. :)

So ein Smartphone wäre aber auch noch ne Idee. Zumindest vim sollte darauf schon laufen, oder? ;)

MfG Peschmä