Grosse Texte >2mb anzeigen in JTextPane

Status
Nicht offen für weitere Antworten.

alexkid

Neues Mitglied
Hi
ich habe schon viel gesucht und bisher noch nicht die brauchbare Lösung für mein Problem gefunden.
Ich würde gerne eine Log Datei welche ziemlich groß ist ca. 2 MB in einem JTextPane anzeigen. Leider dauert das ganze mehrere Minuten und ist nicht tragbar.

JTextPane wäre schön da ich verschiedene Formatierungen benutzen möchte.
Das erstellen eines Documents geht sehr schnell wenn es nicht mit einem JTextPane verbunden ist. Also liegt der Knackpunkt an der Zeichnung des JTextPane.

Wie kann ich das ganze bechleunigen? Hat irgedwer eine Visuelle Editor Kalsse die mir solche Möglichkeiten bieten kann. Wenn ich das ganze z.B. über System.out. in den Debugger von Eclipse oder NetBeans ausgebe schafft der es ja auch die ganzen Zeilen darzustellen und diese Textfenster sind ja auch mit Java programiert.

Also ich hoffe jemand kann mir helfen meine blöd große Datei dar zustellen.

Tx Alex

Pseudocode
Code:
void createAndShowDocument(JTextPane  jTextPane)
{

     Document testDoc = jTextPane.getDocument();

     //Schleife die Datei Bearbeitet 
     // und in das document liest
    // Hier ist es langsam !!!
         testDoc.insertString(testDoc.getLength(),line,null);
    //Ende der schleife


}
 
M

Mac Systems

Gast
Ich denke dur wirst nicht durchherumkommen dir eine von JTextComponent erbene Klasse abzuleiten oder zumindest dir ein eigendes Document zu schreiben. Ich hatte mal das problem das ich viele daten darstellen musste, hierfür bin ich auf NIO ausgewichen da ich dort lesen und schreiben kann und das ganze aysnchron. Ich würde einfach versuchen je nach position des scrollbalkens (den braucht man sicher bei 2 mb grossen datien *g) die text per NIO zu laden und darzustellen.

- jens
 

alexkid

Neues Mitglied
Naja das lesen (es ist eigentlich kein lesen) mache ich schon asyncron.

Wie gesagt wenn das Document (Model) nicht mit dem TextPane (View) verbunden ist. Geht das ganze super fix.
Das Problem kommt erst bei der Anzeige.

Hat den irgendwer eine Ahnung wie ich das mit den Scrollbalken selber hinbekommen kann oder nur einen Teil des fertig geladenen Documents an den TextPane zum zeichenen übertragen kann?
Gibt es für so einen fall nicht irgendwelche Komponeten die man verwenden kann? Ich meine JEdit schafft auch große Dateien an zu zeigen.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben