Java, Eclipse. Konsolentext in GUI ausgeben?

2 Antworten

Suche im Eclipse-Marketplace nach WindowBuilder, dieses Tool wird dir verdammt weit helfen bei JFrames ! So , hast du dies gemacht und Eclipse neu gestartet, dann gehe unter New File -> und da sollte ganz unten irgendwie Extra oder so sein -> WindowBuilder -> Swing -> dort musst du JFrame auswählen und auf Next oder Finish klicken. Danach, wenn alles fertig ist , klickst du unten auf Builder/ Window oder wie das heißt. Dann kannst du per drag and drop alles hineinziehen. (Setzte im Quellcode noch das Layout auf "null" !) .
In ein TextView kannst du so einen Text setzen :
Einfach nicht System.out.println(*Text*);
sondern:

TextView NameDerTextView;

NameDerTextView.setText(*text*);

Ich entschuldige mich, da ich mich an vieles nicht mehr erinnern kann, da ich auf die Android-Entwicklung umgestiegen bin und da so einiges anders ist !

Alex

Eckschrank 
Fragesteller
 04.08.2018, 16:23

Hi. Danke für die Hilfe. Den WindowBuilder hatte ich tatsächlich vergessen. Trotzdem muss ich nocheinmal ein paar doofe Fragen stellen, weil ich wirklich eigendlich keine Ahnung von Programmieren habe. Ich habe jetzt folgende drei Sachen. 1. Den eigendlichen Programmcode mit der Ausgabe in der Konsole 2. ein Fenster mit einem Button, bei dem, wenn ich darauf klicke ein weites Fenster geöffnet wird 3. dieses zweite Fenster ist im Moment komplett blank

Wie kriege ich es jetzt genau hin, das die Ausgabe des Programs im zweiten Fenster erscheint, sobald ich den Button klicke?

Ich weiß ehrlich gesagt nicht, wie ich einzelne Klassen aufeinander beziehe.

0
AlexByJava  04.08.2018, 16:55

du musst es nicht in mehreren Klassen machen, du kannst in einer Klasse mehrere JFrames machen !

0
Eckschrank 
Fragesteller
 04.08.2018, 18:53
@AlexByJava

Tut mir leid. Wahrscheinlich bin ich zu doof, um das alles zu verstehen. Eigendlich bin ich Hobbyartist und wollte dieses Programm nur für den Zweck programmieren, um mir bei einem Ideentief Charaktereigenschaften generieren zu können.

Wenn ich alles in einer Klasse machen würde, dann müsste ich noch einiges mehr an Grundwissen mitbringen, das ich nicht habe. Z.B. wie eine Codeabschnitt erst durchgegangen wird, wenn ich eine bestimmte Aktion ausführe. Z.B. wenn ein Button geklickt wird. Klar, irgendwie mit if, aber ich bin echt überhaupt kein Programmierer und mein Code ist mitlerweile so ein Gewusel, dass ich fast den Überblick verloren habe und mich frage, wieso er überhaupt noch funktioniert :D

Also, zur Übersicht, was ich habe:

  1. class - Hauptprogramm
  2. class - Window mit Button
  3. class - Window leer

Was im moment funktioniert:

Wenn das Programm ausgeführt wird erscheint das Fenster mit Button. Wenn ich auf den Button klicke öffnet sich das zweite leere Fenster. Man könnte sagen das GUI steht halbwegs.

Auch das Hauptprogramm funktioniert. Ich weiß aber nicht, wie ich den generierten Text in der GUI ausgebe. Du hattest was von TextView und set text gesagt.

Was ich erreichen möchte, aber nicht hinbekomme:

Dass das Hauptprogramm startet, NACHDEM ich den Button geklickt habe und das zweite Fenster aufgebaut ist. Und, dass die Ausgabe, die noch immer über SystemPrintIn in der Konsole erfolgt, stattdessen in diesem zweiten Fenster ausgegeben wird.

Es ist bestimmt schwer jemandem, der garnicht programmiert, etwas zum Programmieren zu erklären... Danke dafür :)

0

Der Kern der Frage ist erstaunlich einfach zu beantworten.

https://docs.oracle.com/javase/9/docs/api/java/io/PipedInputStream.html

und

https://docs.oracle.com/javase/9/docs/api/java/lang/System.html#setOut-java.io.PrintStream-

Aber ich sehe es geht eigentlich darum, wie man Sachen überhaupt in einem GUI anzeigen kann. Ups.

Hatte angenommen das wüstest du bereits, denn es ist mehr oder weniger Grundlage.

Eckschrank 
Fragesteller
 04.08.2018, 16:31

Hi. Genau, ich habe wirklich keine Ahnung, was das angeht. Ich wüsste nichteinmal, welche Methode ich verwenden muss, um Text in einem Frame auszugeben. Kannst du mir, was das angeht vielleicht helfen? Ich bin im Moment soweit, dass ich das Programm an sich habe mit der Konsolenausgabe und ich habe ein erstes Fenster mit einem Button. Wenn ich dort drauf klicke öffnet sich ein zweites Fenster. In diesem Fenster möchte ich dann den generierten Text ausgeben. Durch welche Methode müsste ich dann SystemOutPrintIn ersetzen und welches Objekt brauche ich im Fenster auf dem Frame, das mir den Text dann ausgeben kann?

0