Konsolenausgabe in TextArea ausgeben

Cynric

Aktives Mitglied
Hallo, liebe Java-Gemeinde,

ich bin grade im 2. Semester meines Informatikstudiums, daher Java-Einsteiger mit ein bisschen Erfahrung.

Meine Frage ist folgende:
Ich schreibe zu Hause zur Übung und aus Langeweile ein kleines Programm, das unter anderem eine Methode hat, welches Verzeichnisse durchsucht (die Pfadnamen lasse ich mir in der Java-Konsole ausgeben, das funktioniert auch sehr gut).
Jetzt will ich aber diese Pfadnamen in einer JTextArea ausgeben lassen, nur wie bitte geht das?^^
Ich habs schon mit einer Schleife und .setText("Text") versucht, aber das funzt nicht.

Wär cool, wenn mir jemand so ein kleines Stückchen Code mit ner Erklärung zukommen lassen könnte.

Schon mal danke im Voraus!

Edit: Habe es auch schon mit .append("Text") versucht, aber da erscheint nichts, stattdessen wird für jeden Pfad ein neues Fenster erzeugt und ich habe das Gefühl, dass ich da mit Threads arbeiten muss, oder nicht?^^
Die GUI befindet sich in einer extra Klasse und in der Methode in der ich das Verzeichnis durchsuche, erzeuge ich eine neue GUI-Klasse. In der GUI-Klasse habe ich die TextArea als Attribut gesetzt und sage dann quasi: GUI-Klasse.text.append("BlaBla"), aber da wird für jeden ausgegebenen Pfad ein neues Fenster geöffnet, kA warum^^
 
Zuletzt bearbeitet:

jgh

Top Contributor
du kannst es bspw. mit einem StringBuilder realisieren, hier mal ein kurzes Bsp, wie man alle Verzeichnisse, die direkt auf "C" liegen, auslesen und in einer Textarea darstellen kann.

Java:
import java.awt.BorderLayout;
import java.io.File;
import java.io.IOException;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class FileTextArea {

	private JFrame frame;
	private JTextArea tArea;
	private JScrollPane jsp;
	private StringBuilder sb = new StringBuilder();
	File file = new File("C://");

	public FileTextArea() {
		initComponents();
		searchFiles(file);
		frame.setVisible(true);
	}

	private void searchFiles(File file) {
		File[] files = file.listFiles();
		for (int i = 0; i < files.length; i++) {
			try {
				sb.append(files[i].getCanonicalPath() + "\n");
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		tArea.setText(sb.toString());

	}

	private void initComponents() {
		frame = new JFrame();
		frame.setSize(400, 400);
		frame.setLocationRelativeTo(null);
		tArea = new JTextArea();
		jsp = new JScrollPane(tArea);
		frame.add(jsp, BorderLayout.CENTER);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

	public static void main(String[] args) {
		new FileTextArea();

	}
 

eRaaaa

Top Contributor
sb.append(files.getCanonicalPath() + "\n");

besser -->

sb.append(files.getCanonicalPath()).append('\n');


Edit: Habe es auch schon mit .append("Text") versucht, aber da erscheint nichts, stattdessen wird für jeden Pfad ein neues Fenster erzeugt und ich habe das Gefühl, dass ich da mit Threads arbeiten muss, oder nicht?^^

Klingt merkwürdig, das eine hat ja mit dem anderen nichts zu tun. append an sich würde schon gehen, extra Thread(s) wäre auch eine gute Idee, also an sich war der Gedanke richtig, die Umsetzung war wohl eher das Problem.
 

Cynric

Aktives Mitglied
Also jetz hab ich das soweit codiert, wie oben angegeben, die Pfadnamen erscheinen jetzt auch untereinander in der TextArea, aber trotzdem wird für jeden Pfadnamen ein neues Fenster generiert, kA warum, jemand ne Idee, woran das liegen könnte?
 

Cynric

Aktives Mitglied
Java:
import java.io.File;
import java.io.IOException;
import java.util.LinkedList;


public class BrowserPath {
    
    /*
     * Attribute
     */
    private LinkedList<String> filelist;
    
    protected boolean found = false;
    protected char sepchar = java.io.File.separatorChar;
    
    private StringBuilder sb = new StringBuilder();
    
    /*
     * Konstruktoren
     */
    public BrowserPath () {
        
    }
    
    /*
     * Methoden
     */
    
    /*
     * Normalisierung des Pfadnamens & Abspeichern der Dateien
     */
    public void normalizeAndCut (String path) {
        
        if (java.io.File.separatorChar == '/') {
            path = path.replace('\\', java.io.File.separatorChar);
            
            if(path.contains(":")) {
                path = path.replace(':', java.io.File.separatorChar);
                path = java.io.File.separatorChar + path;
            }
           
        }
        else if(java.io.File.separatorChar == '\\') {
            path = path.replace('/', java.io.File.separatorChar);
        }

        
    }
    /*
     * normalizeAndCut Ende
     */
    
    /*
     * Rekursives Durchsuchen der Laufwerke nach Browsern
     */
    public void searchBrowser (File path) {
        
        File[] files = path.listFiles();        
        Interface ic = new Interface();
 
        if (files != null) {
            
            for (int i=0; i<files.length; i++) {
                
                try {
                    sb.append(files[i].getCanonicalPath()).append('\n');
                } 
                catch (Exception e) {
                    e.printStackTrace();
                }
                
                ic.text.append(sb.toString());
                
                if (files[i].isDirectory()) {
                    searchBrowser(files[i]); 

                } 

                if (files[i].toString().contains("iexplore.exe") | 
                    files[i].toString().contains("firefox.exe") | 
                    files[i].toString().contains("safari.exe") |
                    files[i].toString().contains("opera.exe") | 
                    files[i].toString().contains("chrome.exe") | 
                    files[i].toString().contains("netscape.exe")) 
                {        
                    found = true;
                    
                    //Das Einfügen in die Liste funktioniert noch nicht richtig
                    filelist = new LinkedList<String>();
                    filelist.add(i, files[i].toString());
                    //----------------------------------------------------------
                    
                }
                
            }   
        }        
        
    }
    /*
     * searchBrowser Ende
     */
    
    /*
     * Durchlaufen aller möglichen Laufwerksbuchstaben von A-Z
     */
    public void exploreDrive () {
        
        char letter;
        File drive = null; 
        
        while (!found) {
            for (letter='A'; letter<='Z'; letter++) { 
                drive = new File(letter + ":" + sepchar);
                searchBrowser(drive);
                
                if (found) { 
                    break;
                    
                }
            }
        }
        
    }
    /*
     * exploreDrive Ende
     */
    
    /*
     * Getter-Methoden
     */  
    public LinkedList<String> getFilelist () {
        
        return filelist;
    }
    /*
     * Getter-Methoden Ende
     */
    
}

Kurz zur Erklärung, diese Klasse sucht nach Internetbrowsern auf der Festplatte, den Sinn dahinter müsst ihr nich verstehen^^
Die GUI hab ich in einer eigenen Klasse Interface implementiert
 

eRaaaa

Top Contributor
Java:
     while (!found) {
            for (letter='A'; letter<='Z'; letter++) { 
                drive = new File(letter + ":" + sepchar);
                searchBrowser(drive);
du rufst also öfters
Code:
searchBrowser
auf, in dieser Methode steht die Zeile :
Code:
Interface ic = new Interface();
Kein Wunder dass also mehrere Fenster aufgerufen werden
 

Cynric

Aktives Mitglied
Ach, verdammt!
Ja stimmt!

d.h. wenn ich die Interface-Klasse als Attribut setze oder im Konstruktor aufrufe, sollte es gehen, oder?

Edit: Es klappt jetzt genau so, wie ich mir das vorgestellt habe, vielen Dank!
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Swing Konsolen Programm in GUI - Suche Hilfe bei Konsolenausgabe AWT, Swing, JavaFX & SWT 2
0 Performante Konsolenausgabe in Fenster (farbig) AWT, Swing, JavaFX & SWT 6
L TextArea Zeichenabstand gleich machen AWT, Swing, JavaFX & SWT 8
ProggersWorld JavaFX TextArea BackgroundImage wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
K Textarea aktuallisiert sich nicht, nach Auswahl (Itemlistener) AWT, Swing, JavaFX & SWT 3
D JavaFX TextArea Probleme bei langen Zeilen AWT, Swing, JavaFX & SWT 1
D Hohe Prozessorauslastung bei Ausgabe auf TextArea AWT, Swing, JavaFX & SWT 2
N Einer TextArea ein ScrollPane hinzufügen AWT, Swing, JavaFX & SWT 8
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
Hatsi09 TextArea formattieren AWT, Swing, JavaFX & SWT 4
ralfb1105 JavaFX MVC: Thread in Model Class mit Ausgabe in TextArea AWT, Swing, JavaFX & SWT 10
E Eingabe von Zahlen in TextArea AWT, Swing, JavaFX & SWT 2
K JavaFX: TextArea updated nicht AWT, Swing, JavaFX & SWT 7
M JavaFX TextArea disabled - ScrollBar enabled AWT, Swing, JavaFX & SWT 3
G Probleme mit TextArea AWT, Swing, JavaFX & SWT 5
R Java FX - Fxml - relative Größenangaben für Breite und Höhe einer TextArea AWT, Swing, JavaFX & SWT 8
R Swing Durch JComboBox-Item eine TextArea aktualisieren AWT, Swing, JavaFX & SWT 2
MrSnake JavaFX TextArea updated nicht AWT, Swing, JavaFX & SWT 22
N JavaFX TextArea Updaten bevor Prozess gestartet wird AWT, Swing, JavaFX & SWT 7
B Java FX FXML Textarea SceneBuilder als XML Editor AWT, Swing, JavaFX & SWT 1
T JavaFX System.out.println in TextArea AWT, Swing, JavaFX & SWT 15
F JavaFX JavaFX HTMLEditor-Eingabe in Textarea als HTML anzeigen AWT, Swing, JavaFX & SWT 2
E To get a color text on the TextArea AWT, Swing, JavaFX & SWT 4
E To get color text on the TextArea AWT, Swing, JavaFX & SWT 5
S passende PaintComponent ? Zeichnen in TextArea mit Scrollpane ? AWT, Swing, JavaFX & SWT 2
E Swing Error icon in der TextArea AWT, Swing, JavaFX & SWT 1
thobren JavaFX textarea nach setPrefRowCount Ansicht aktualisieren AWT, Swing, JavaFX & SWT 1
thobren JavaFX Inhalte aus dynamischen vbox mit TextArea auslesen AWT, Swing, JavaFX & SWT 9
thobren Swing Im JPanel wird nur TextArea gelöscht AWT, Swing, JavaFX & SWT 13
J JavaFX TextArea dynamisch Icon im Background anzeigen AWT, Swing, JavaFX & SWT 2
M JavaFX TextArea einzelne Buchstaben färben AWT, Swing, JavaFX & SWT 3
M JavaFX TextArea richtig formatieren AWT, Swing, JavaFX & SWT 4
S ScrollPane in Textarea und auf Panel AWT, Swing, JavaFX & SWT 4
S Die Rücktaste und Entfernen in einer Textarea blockieren AWT, Swing, JavaFX & SWT 3
S TextArea get Selected row(Text) AWT, Swing, JavaFX & SWT 6
F textarea lässt panel verschwinden AWT, Swing, JavaFX & SWT 4
V Swing Update Textarea AWT, Swing, JavaFX & SWT 2
E TextArea - Maximale Zeichenanzahl AWT, Swing, JavaFX & SWT 2
N Swing teilstring in textarea fett machen AWT, Swing, JavaFX & SWT 13
J Swing TextArea mit nicht-editierbarem Text AWT, Swing, JavaFX & SWT 7
W Vergleich zweier Strings und schreiben in Textarea AWT, Swing, JavaFX & SWT 12
R AWT TextArea schreibunfähig machen AWT, Swing, JavaFX & SWT 5
J Werkzeugleiste für TextArea? AWT, Swing, JavaFX & SWT 10
M TextArea über mehrere Zeilen - wie Zeileanzahl abfragen? AWT, Swing, JavaFX & SWT 5
S Textarea und Enter AWT, Swing, JavaFX & SWT 5
El_Lobo Swing Swing TextArea und JTextField werden nicht aktualisiert AWT, Swing, JavaFX & SWT 2
R Textarea zeigt Text nicht an AWT, Swing, JavaFX & SWT 5
H TextArea zeigt kein Text an AWT, Swing, JavaFX & SWT 6
S Frage zu TextArea AWT, Swing, JavaFX & SWT 2
C TextArea Ausgabe immer ganz oben AWT, Swing, JavaFX & SWT 3
P Swing Methodenaufruf beeinflusst TextArea nicht. AWT, Swing, JavaFX & SWT 6
S TextArea ausgabe ohne JFrame zu implementieren AWT, Swing, JavaFX & SWT 2
M Swing Eine andere Klasse über Button starten und in TextArea ausgeben AWT, Swing, JavaFX & SWT 13
M Inhalt aus TextArea verarbeiten AWT, Swing, JavaFX & SWT 4
A Swing Text von System.out.printIn in eine TextArea übergen AWT, Swing, JavaFX & SWT 12
S Sobald ich TextArea mit Text fülle alles weg? AWT, Swing, JavaFX & SWT 5
P TextArea Größenänderung AWT, Swing, JavaFX & SWT 4
M problem mit keylistener/textarea AWT, Swing, JavaFX & SWT 6
H anderes font in textarea AWT, Swing, JavaFX & SWT 2
E Datei in TextArea anzeigen AWT, Swing, JavaFX & SWT 12
Luy Per TAB-Taste aus TextArea wieder raus? AWT, Swing, JavaFX & SWT 5
H AWT TextArea, TextListener AWT, Swing, JavaFX & SWT 5
D Swing [BoxLayout] Nur TextArea und nicht TextField vergroessen AWT, Swing, JavaFX & SWT 2
W JTextArea/TextArea kriegt keinen Fokus AWT, Swing, JavaFX & SWT 6
A Strings an Textarea anderer Klasse append(en) AWT, Swing, JavaFX & SWT 12
U Problem mit dem TextArea.appen()- Befehl AWT, Swing, JavaFX & SWT 2
G Textarea zeigt Text erst am Schluss an AWT, Swing, JavaFX & SWT 2
W JTextArea vs TextArea AWT, Swing, JavaFX & SWT 3
K TextArea auf Scrollpane AWT, Swing, JavaFX & SWT 3
A Dateien in TextArea ausgeben AWT, Swing, JavaFX & SWT 6
G Textarea soll automatisch mitrollen AWT, Swing, JavaFX & SWT 2
G Feste Größe einer TextArea AWT, Swing, JavaFX & SWT 2
G Kontextmenü zum kkopieren in einer TextArea AWT, Swing, JavaFX & SWT 5
D GUI + TextArea + inhalt der wörter zählen AWT, Swing, JavaFX & SWT 4
V Hilfe :( bekomme textarea nicht versetzt AWT, Swing, JavaFX & SWT 2
M TextArea relativ zur Fenstergröße AWT, Swing, JavaFX & SWT 14
Y Zahlen aus einer Textarea auslesen AWT, Swing, JavaFX & SWT 2
V textarea Problem Positionierung AWT, Swing, JavaFX & SWT 2
G textarea.read funzt net in Jar-Datei AWT, Swing, JavaFX & SWT 7
K Center Text in TextArea AWT, Swing, JavaFX & SWT 8
ModellbahnerTT Ersatz für Textarea AWT, Swing, JavaFX & SWT 13
K Zeilen von TextArea auswählen AWT, Swing, JavaFX & SWT 3
C TextArea Problem :( TextArea über komplettem JFrame AWT, Swing, JavaFX & SWT 2
S Text in Textarea über empfangenen Socketstream anzeigen AWT, Swing, JavaFX & SWT 4
M Problem mit Layout wegen Textarea AWT, Swing, JavaFX & SWT 3
F Scrollpane scrollt immer zur TextArea AWT, Swing, JavaFX & SWT 8
F Graphics2D scale und Positionierung einer TextArea AWT, Swing, JavaFX & SWT 8
J TextArea unkontrollierbar AWT, Swing, JavaFX & SWT 4
G toString -> TextArea AWT, Swing, JavaFX & SWT 2
F Einlesen von text in textArea mittels for-schleife AWT, Swing, JavaFX & SWT 3
L TextArea AWT, Swing, JavaFX & SWT 6
X textarea updaten bevor eine Methode aufegerufen wird AWT, Swing, JavaFX & SWT 6
G keyListener & textarea AWT, Swing, JavaFX & SWT 2
C Text in TextArea gestalten AWT, Swing, JavaFX & SWT 2
M Farben im TextArea AWT, Swing, JavaFX & SWT 5
N TextArea positionieren AWT, Swing, JavaFX & SWT 3
P TextArea zeilenumbruch AWT, Swing, JavaFX & SWT 7
André B. formatierung in TextArea AWT, Swing, JavaFX & SWT 7
C Textarea kontinuerlich updaten AWT, Swing, JavaFX & SWT 3
D setCaretPosition, nicht-editierbare TextArea AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben