Wie in GUI System.out's darstellen

Status
Nicht offen für weitere Antworten.

redbomber

Bekanntes Mitglied
Hi zusammen,
ich habe eine GUI entwickelt und möchte nun, dass die System.out`s dem Benutzer in der GUI angezeigt werden.
Die System.outs geben dabei an, an welcher Stelle im Programm man sich gerad befindet (also lese Daten... usw.)
(realisieren also so etwas wie die Console in der die System.out's angezeigt werden)

Bisher habe ich das wie folgt realisiert:
Ein JTextField ist in eine JScrollPane eingebettet.
Ein StringBuffer wird mit den Informationen gefüllt ( stringbuffer.append("bla") )

Nun wollte ich dass in dem JTextField die Nachrichten Zeileweise reingeschrieben werden. Wenn es zuviele Zeilen werden, hab ich ja extra die JScrollPane.

Kurz gesagt: das ganze klappt hinten und vorne nicht.
zum einen kann ich in dem JTextField keinen Zeilenumbruch realisieren und zum anderen ermöglicht mir der StringBuffer nicht, diesen einfach komplett zu löschen, damit ich die nächste Zeile da rein schreiben kann.

Vermutlich benutze ich hier sowieso die komplett falschen Componenten.
Habt ihr mir vielleicht einen Tip wie ich so etwas realisieren kann?
 

Verjigorm

Top Contributor
und zum anderen ermöglicht mir der StringBuffer nicht, diesen einfach komplett zu löschen, damit ich die nächste Zeile da rein schreiben kann.

Code:
myStringBuffer.setLength(0);

Alternativ schreibst du die Ausgaben in eine Datei und liest sie immer wieder aus, wenn der User das "Log" anschaut.

Wenn das Programm größer werden sollte, unbedingt auf ein Logging-System umstellen
 

redbomber

Bekanntes Mitglied
Also vielen Dank schonmal.
Verwende jetzt eine JTextArea, die in eine JScrollPane eingebettet ist.
und die Nachrichten werden Zeilenweise, so wie in der Console ausgegeben.
Alledings erfüllt die ScrollBar nicht ihren richtigen Zweck
d.h. wenn zu viele Zeilen geschrieben werden, dann sehe ich die nicht mehr, da die ausserhalb des sichtbaren bereichs sind, also die ScrollBar nicht vertikal scrollt.
Ich hätte aber immer gerne die aktuell geschriebene Zeile sichtbar.

Wisst ihr warum das nicht funktioniert?

Also hier mein Code:

[JAVA=42]
JFrame mainFrame = new JFrame("Instructions window");
mainFrame.setSize(initDim);

JTextArea textArea = new JTextArea();
textArea.setSize(new Dimension(iDim));
textArea.setPreferredSize(new Dimension(iDim));

JScrollPane scrollpane = new JScrollPane(textArea);

mainFrame.add(scrollpane);

// in der Methode wird das textArea beschrieben: --> textArea.appendNotification("irgend eine Nachricht" + "\n");
runMyCode(textArea);

mainFrame.setVisible(true);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
[/code]
 
Zuletzt bearbeitet:

Michael...

Top Contributor
In Deinem Bsp. Code verwendest Du JTextField anstelle von JTextArea.
Bei einer Textarea in einer ScrollPane könntest Du den Cursor ans Ende setzen, dann scrollt die Pane automatisch mit:
Java:
textArea.setCaretPosition(textArea.getText().length());
 

redbomber

Bekanntes Mitglied
ok das mit JTextField habe ich falsch abgeschrieben.

habe jetzt also an der Stelle wo ich den Text zu der JTextArea hinzufüge noch deinen Code ausgeführt.

[JAVA=42]
private void appendNotification(String s){
textArea.append(s+"\n");
textArea.setCaretPosition(textArea.getText().length());
}
[/code]

Aber muss ich der JScrollPane jetzt noch irgend etwas signalisieren? Weil die scrollt noch immer nicht mit.
 

Oli

Top Contributor
Hi,

JScrollPane.scrollRectToVisible(aRect);

Damit kannst du die ScrollPane zum scrollen bewegen.


Grüße Oli
 

redbomber

Bekanntes Mitglied
Des Rätsels Lösung :)


Also folgendes war falsch:
Java:
textArea.setSize(new Dimension(iDim));
textArea.setPreferredSize(new Dimension(iDim));

Wenn ich also folgenden Code habe:
[JAVA=42]
public static void main(String[] args) {
JFrame mainFrame = new JFrame("Instructions window");
mainFrame.setSize(initDim);

JTextArea textArea = new JTextArea();
//textArea.setSize(new Dimension(iDim)); WICHTIG, darf nicht gesetzt werden
//textArea.setPreferredSize(new Dimension(iDim));

JScrollPane scrollpane = new JScrollPane(textArea);

mainFrame.add(scrollpane);

appendNotification("Hallo");

mainFrame.setVisible(true);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

private void appendNotification(String s){
textArea.append(s+"\n");
textArea.setCaretPosition(textArea.getText().length());
}
[/code]

Dann habe ich einen funktionierenden "Log" und die Scrollbar bewegt sich auch so wie sie soll.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B JavaFx TreeView mit file system AWT, Swing, JavaFX & SWT 1
J AWT System Farben / java.awt.SystemColor funktioniert nicht AWT, Swing, JavaFX & SWT 4
I JFileChooser mit System L&F bei anderem L&F der eigtl. Anwendung AWT, Swing, JavaFX & SWT 0
L Komplettes Löschen SWT vom System AWT, Swing, JavaFX & SWT 6
T JavaFX System.out.println in TextArea AWT, Swing, JavaFX & SWT 15
S Swing JRE System Libary AWT, Swing, JavaFX & SWT 3
A Wie baue ich das Bus-System in ein Java Projekt ein? AWT, Swing, JavaFX & SWT 5
M Benutzer-Dialog ohne System.in/out AWT, Swing, JavaFX & SWT 2
Luk10 Fragen zum Koordinaten System AWT, Swing, JavaFX & SWT 3
D System.out.println() gibt html-Tags mit aus AWT, Swing, JavaFX & SWT 2
GUI-Programmer Translucent JFrame mit System-LookAndFeel AWT, Swing, JavaFX & SWT 4
H Anwendung schließen ohne System.exit AWT, Swing, JavaFX & SWT 5
S 2D-Grafik Icon in Image (System Icons) AWT, Swing, JavaFX & SWT 2
S System.out in JTextArea AWT, Swing, JavaFX & SWT 4
J Swing Doppelklickzeit vom System AWT, Swing, JavaFX & SWT 17
A Swing Text von System.out.printIn in eine TextArea übergen AWT, Swing, JavaFX & SWT 12
T Dynamic JTree: File System Problem AWT, Swing, JavaFX & SWT 2
P System.exit(0); ausführen, wenn letztes Fenster geschlossen AWT, Swing, JavaFX & SWT 10
R MVC: System.out.prinln in View umleiten geht nicht richtig AWT, Swing, JavaFX & SWT 7
V Swing: System-Look&Feel unter KDE AWT, Swing, JavaFX & SWT 3
R Meldungen System.out.println auf Fenster umleiten? AWT, Swing, JavaFX & SWT 3
M Image in System Clipboard mit java 1.3 AWT, Swing, JavaFX & SWT 2
M Problem mit System.setOut()/setErr() und MultiThreading AWT, Swing, JavaFX & SWT 11
S K.O.-System zeichnen AWT, Swing, JavaFX & SWT 3
V System Look and Feel, FileChooser, Optionen einer jar-Datei AWT, Swing, JavaFX & SWT 10
D Auf System-Icons wie die aus JOptionPane zugreifen? AWT, Swing, JavaFX & SWT 6
S Defaulticon für einen Datentyp vom System bekommen? AWT, Swing, JavaFX & SWT 3
S LaF - switcht erst während des Runs auf System.LaF AWT, Swing, JavaFX & SWT 2
S Dispose() anstatt system.exit(0) AWT, Swing, JavaFX & SWT 8
G standard system icons AWT, Swing, JavaFX & SWT 1
L Hintergrundbild im Fenster darstellen AWT, Swing, JavaFX & SWT 9
H JTable im JSplitPane darstellen AWT, Swing, JavaFX & SWT 2
B Text im Tetfeld in einer TableView darstellen AWT, Swing, JavaFX & SWT 20
ralfb1105 JavaFX Exception Message von Model Class via Controller in View darstellen AWT, Swing, JavaFX & SWT 39
olfibits Swing JavaFX-Frame in JDesktopPane darstellen? AWT, Swing, JavaFX & SWT 2
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
L Swing JTable im Panel darstellen AWT, Swing, JavaFX & SWT 8
Y Objekte grafisch darstellen ohne GMF - Composite auf Canvas? AWT, Swing, JavaFX & SWT 2
G Ampel graphisch darstellen AWT, Swing, JavaFX & SWT 2
T JComponents zur Laufzeit auf JPanel darstellen AWT, Swing, JavaFX & SWT 10
Augenblau JavaFX Wechselnde Werte in Label darstellen AWT, Swing, JavaFX & SWT 7
H Karte mit JXMapKit darstellen AWT, Swing, JavaFX & SWT 0
C (JavaFX 8) SQLite Datenbank in einem TableView darstellen AWT, Swing, JavaFX & SWT 2
M Jtable besser darstellen AWT, Swing, JavaFX & SWT 6
Q Swing Fenster updaten - Hinzugefügte Komponenten darstellen AWT, Swing, JavaFX & SWT 3
J Mehrere Hyperlinks "stilvoll" darstellen. AWT, Swing, JavaFX & SWT 1
C Ventilator Geschwindigkeit darstellen AWT, Swing, JavaFX & SWT 1
A 3D-Grafik 3D Gitter Darstellen AWT, Swing, JavaFX & SWT 1
T Swing Aktuelle Größe eines Textes in einem Label darstellen AWT, Swing, JavaFX & SWT 3
T Kreis in Jlabel darstellen. AWT, Swing, JavaFX & SWT 13
T Swing Elemente der JList überlappend darstellen AWT, Swing, JavaFX & SWT 5
H Swing Arbeitsspeicherauslastung anderer Programme grafisch darstellen AWT, Swing, JavaFX & SWT 16
J jTable anders darstellen AWT, Swing, JavaFX & SWT 4
Iron Monkey Nach Drag & Drop die Datei auf Komponent darstellen AWT, Swing, JavaFX & SWT 2
M Array grafisch darstellen AWT, Swing, JavaFX & SWT 9
D JOptionPane.QUESTION_MESSAGE Fett darstellen AWT, Swing, JavaFX & SWT 4
B Signal als Diagramm darstellen AWT, Swing, JavaFX & SWT 6
D Swing Bresenham Linienalgorithmus grafisch darstellen AWT, Swing, JavaFX & SWT 6
B 3D-Grafik Punkt in JAVA3D darstellen AWT, Swing, JavaFX & SWT 2
M In JField eine Kommazahl darstellen java.lang.NumberFormatException AWT, Swing, JavaFX & SWT 4
M Swing XML Datei in JTable darstellen + verändern AWT, Swing, JavaFX & SWT 3
X Icons in einer Spalte darstellen AWT, Swing, JavaFX & SWT 6
C Text in einer Seitenansicht darstellen AWT, Swing, JavaFX & SWT 3
M 2x JComponent in einem JFrame darstellen? AWT, Swing, JavaFX & SWT 7
Y Word Dokument im JPanel darstellen AWT, Swing, JavaFX & SWT 5
T Zeichen/char in Bild umwandeln und darstellen AWT, Swing, JavaFX & SWT 10
Zettelkasten Swing anklickbaren Link darstellen AWT, Swing, JavaFX & SWT 2
D Texte zeichenweise übereinander darstellen, gemeinsam umbrechen AWT, Swing, JavaFX & SWT 5
L Rollkurven (zykloide) darstellen AWT, Swing, JavaFX & SWT 13
D Zwei String Attribute über eine Methode als Zeilen in einer Tabelle darstellen AWT, Swing, JavaFX & SWT 9
J 3D-Grafik JOGL - Verschiedene Perspektiven darstellen AWT, Swing, JavaFX & SWT 5
destroflyer Swing UTF-8 in JEditorPane darstellen AWT, Swing, JavaFX & SWT 5
A SWT: Daten in Raster mit Gitternetzlinien darstellen AWT, Swing, JavaFX & SWT 7
C JTable: Mehrere Farben in einer Zelle darstellen AWT, Swing, JavaFX & SWT 10
X Swing JList -> Daten anders darstellen als im Model hinterlegt -> möglich ? AWT, Swing, JavaFX & SWT 9
S Animation korrekt darstellen AWT, Swing, JavaFX & SWT 8
M Swing Prozentwerte grafisch darstellen - wie? AWT, Swing, JavaFX & SWT 4
T JFrame als JInternalFrame darstellen AWT, Swing, JavaFX & SWT 2
prakdi grafisches Darstellen von einer Parabel?![JAVA] AWT, Swing, JavaFX & SWT 2
M Bilder in einem Textfeld darstellen AWT, Swing, JavaFX & SWT 2
C Swing JComboBox - Problem bei Darstellen von ImageIcon AWT, Swing, JavaFX & SWT 4
M Java-Quellcode im Paanel mit Syntax-highlightning darstellen? AWT, Swing, JavaFX & SWT 2
T Choice "gezielt" darstellen aber wie - mit Koordinaten aber wie? AWT, Swing, JavaFX & SWT 6
F Einfaches Fenster "ordentlich" darstellen AWT, Swing, JavaFX & SWT 8
J Konsolentabelle darstellen AWT, Swing, JavaFX & SWT 7
F "Objekte" mit "Verbindungen" grafisch darstellen AWT, Swing, JavaFX & SWT 4
S Swing JTable: in erster Spalte Image darstellen AWT, Swing, JavaFX & SWT 30
Antoras Swing Umfangreiche formatierte Texte in Fenster darstellen AWT, Swing, JavaFX & SWT 2
R MousePosition über mehrere JPanels darstellen AWT, Swing, JavaFX & SWT 13
M Darstellen eines Bildes AWT, Swing, JavaFX & SWT 3
D java.lang.IllegalArgumentException beim Darstellen eines Panels AWT, Swing, JavaFX & SWT 7
S Datum in Tabelle darstellen? AWT, Swing, JavaFX & SWT 4
R JTable: Tabelle neu darstellen AWT, Swing, JavaFX & SWT 6
R JTable darstellen von leeren Zellen AWT, Swing, JavaFX & SWT 12
R JTable Darstellen der selektierten Zelle braucht lange AWT, Swing, JavaFX & SWT 7
S Mathematische Förmeln darstellen AWT, Swing, JavaFX & SWT 5
J JComboBox geöffnet darstellen AWT, Swing, JavaFX & SWT 5
R Daten in JTable in mehreren Zeilen darstellen AWT, Swing, JavaFX & SWT 11
1 Laden einer Datei zur Echtzeit Darstellen AWT, Swing, JavaFX & SWT 7
P HTML darstellen mit Java AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben