wirklich großer Text in JTextArea => Heap Space Error

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi!

Ich will eine wirklich große Ausgabe in eine JTextArea stecken.
Der Text ist ein generierter Text basierend auf verschiedenen USer bezogenen Faktoren und kann wirklich riesig werden.
Die Textbox dient mehr oder minder der Kontrolle und dem "aha ok es ist was da!" Effekt.

Der User soll im Anschluss durch klick auf einen "In Zwischenablage kopieren" den text in die System Zwischenablage bekommen und dann an anderer Stelle (Excel oder andere Programme) den text einfach wieder einfügen können.

Problem:
Die JTextArea schmeisst einen HeapSpace Error, der es mir nciht möglich macht solche großen Texte dort hinein zu schaufeln. In einem anderen Programm in C# ist dies aber möglich :-/

Gibt es eine alternative zur JTextArea oder eine andere Möglichkeit diese noch weiter auf zu borhen?
Meinen Text schreibe ich mit
Code:
textArea.append(myStringBuffer.toString());
in die entsprechende TextArea.
 

thE_29

Top Contributor
Du musst dein Prog mit
java -Xmx1024M -jar datei.jar
starten!

Das war aber nur ein Bsp! Also er würde hier max. 1024M reservieren (wenn er es benötigt) sofern du halt soviel hast!
 
G

Gast

Gast
gibts eine alternative?
könnte blöd aussehen das programm so auf einem kundenrechner zu starten der nicht soviel speicher hat ^^
 

Marco13

Top Contributor
Es wird so viel Speicher gebraucht, wie gebraucht wird, und wenn er nicht reicht, reicht er nicht. Hm.

THEORETISCH (!) KÖNNTE(!) es was bringen, den Ablauf zu ändern:

Vorher:
Code:
void doit()
{
    StringBuffer myStringBuffer = new StringBuffer();
...
    textArea.append(myStringBuffer.toString());
}
Nachher
Code:
void doit()
{
    StringBuffer myStringBuffer = new StringBuffer();
...
    String s = myStringBuffer.toString();
    myStringBuffer = null;
    textArea.append(s);
}
Als (aus den Fingern gesogene) Begründung: Wenn im StringBuffer 100 MB Stringdaten liegen, dann wird beim "toString" ein neuer String erstellt - mit wieder 100MB. Dieser String wird an die TextArea übergeben und dort reingewurstet, was nochmal 100MB braucht - es existieren sozusagen DREI mal die gleichen 100MB. Mit der obigen Methode würden zu keinem Zeitpunkt mehr als ZWEI Kopien dieser Daten existieren.
Aber vielleicht täusch' ich mich auch grad ???:L Wie auch immer: Wie die JVM intern mit dem Speicher umgeht, weiß kaum jemand so genau....
 
G

Guest

Gast
Hmm macht keinen wirklcih Unterschied.
Es klappt noch nicht mal den Text per STRG+V in die TextArea zu stecken - selber Fehler:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
	at javax.swing.text.GapContent.allocateArray(GapContent.java:77)
	at javax.swing.text.GapVector.resize(GapVector.java:197)
	at javax.swing.text.GapVector.shiftEnd(GapVector.java:212)
	at javax.swing.text.GapContent.shiftEnd(GapContent.java:328)
	at javax.swing.text.GapVector.open(GapVector.java:184)
	at javax.swing.text.GapVector.replace(GapVector.java:125)
	at javax.swing.text.GapContent.insertString(GapContent.java:115)
	at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:709)
	at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:693)
	at javax.swing.text.PlainDocument.insertString(PlainDocument.java:114)
	at javax.swing.text.AbstractDocument.replace(AbstractDocument.java:655)
	at javax.swing.text.JTextComponent.replaceSelection(JTextComponent.java:1351)
	at javax.swing.plaf.basic.BasicTextUI$TextTransferHandler.handleReaderImport(BasicTextUI.java:2342)
	at javax.swing.plaf.basic.BasicTextUI$TextTransferHandler.importData(BasicTextUI.java:2483)
	at javax.swing.TransferHandler.importData(TransferHandler.java:745)
	at javax.swing.plaf.basic.BasicTextUI$TextTransferHandler.importData(BasicTextUI.java:2420)
	at javax.swing.TransferHandler$TransferAction.actionPerformed(TransferHandler.java:1655)
	at javax.swing.text.JTextComponent.invokeAction(JTextComponent.java:1485)
	at javax.swing.text.JTextComponent.paste(JTextComponent.java:1463)
	at javax.swing.text.DefaultEditorKit$PasteAction.actionPerformed(DefaultEditorKit.java:1337)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2849)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2884)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2812)
	at java.awt.Component.processEvent(Component.java:5911)
	at java.awt.Container.processEvent(Container.java:2023)
	at java.awt.Component.dispatchEventImpl(Component.java:4501)
	at java.awt.Container.dispatchEventImpl(Container.java:2081)
	at java.awt.Component.dispatchEvent(Component.java:4331)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:704)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:969)

Auch klappt es nicht den Text in die Zwischenablage zu schieben - auch wieder nur aus JAVA heraus :-(
Gibts noch irgendwelche Möglichkeiten?
 

Eminent

Bekanntes Mitglied
Setzt du denn bisher den Speichern oder verwendest du die Standardeinstellungen?

Die einfachste Möglichkeit ist definitiv erstmal den Speicher zu erhöhen. Es müssen ja vielleicht nicht gleich 1024 MB sein aber 256 MB oder vielleicht sogar 512 MB sollten auf neueren Rechnern doch wohl an sich kein Problem darstellen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F java.awt.Font - ist das wirklich alles? AWT, Swing, JavaFX & SWT 3
jeppi Fonts: Schriftgrößen skalierbarer Fonts wirklich nur als integer möglich? AWT, Swing, JavaFX & SWT 5
hdi Swing JLabel & paint-Methode gemixt - wie schlimm wirklich? AWT, Swing, JavaFX & SWT 5
H JCheckBox - Ist die Abfrage wirklich so umständlich ? AWT, Swing, JavaFX & SWT 3
E JFrame wirklich _immer_ alwaysontop ? AWT, Swing, JavaFX & SWT 7
V JScrollPane und JEditPane wollen nicht wirklich miteinander AWT, Swing, JavaFX & SWT 2
Y JTable mit großer Anzahl von Datensätzen AWT, Swing, JavaFX & SWT 3
R JPanel - BufferedImage - zeichnen großer Bilder AWT, Swing, JavaFX & SWT 2
Juelin Text und Backgroundcolor im Label geht nicht AWT, Swing, JavaFX & SWT 7
P JTextfield Text durch Keylistener verändern AWT, Swing, JavaFX & SWT 4
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
C JToggleButton disabled Text Color AWT, Swing, JavaFX & SWT 11
H JavaFX Label.Text mit bind an DoubleProperty binden AWT, Swing, JavaFX & SWT 3
H JList.setEnabled(false) - Text soll nicht grau sein AWT, Swing, JavaFX & SWT 2
FrittenFritze Text in Flying Saucer selectierbar machen AWT, Swing, JavaFX & SWT 0
Mojo7310 Ändern von Text in JLabel mit einem Button AWT, Swing, JavaFX & SWT 11
raeuchertofu Text von JTextfield und JLabel ändern AWT, Swing, JavaFX & SWT 2
H JavaFX Gedrehter Text auf Canvas (Positionierung) AWT, Swing, JavaFX & SWT 6
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
I Rich Text drucken AWT, Swing, JavaFX & SWT 0
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
R Text vom Jlabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
N Promt Text der Combobox AWT, Swing, JavaFX & SWT 0
M JavaFX javaFX Label-Text wird nicht gesetzt AWT, Swing, JavaFX & SWT 3
sascha-sphw JavaFX ListCell höhe verändert sich beim ändern der Text-Farbe AWT, Swing, JavaFX & SWT 14
N In Textdatei Text anfügen per GUI AWT, Swing, JavaFX & SWT 3
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
R Swing JTextField nicht-kopierbarer Text AWT, Swing, JavaFX & SWT 1
S Text-Info in der Taskbar anzeigen AWT, Swing, JavaFX & SWT 15
E Warum wird Text im JTextArea erst am Programmende angezeigt ? AWT, Swing, JavaFX & SWT 1
S Swing JLabel Text mit der Zeit ändern AWT, Swing, JavaFX & SWT 1
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
B Text im Tetfeld in einer TableView darstellen AWT, Swing, JavaFX & SWT 20
C JCheckBox disabled text color AWT, Swing, JavaFX & SWT 9
ralfb1105 JavaFX Wie Text Label in neuem Window von Main Stage setzen? AWT, Swing, JavaFX & SWT 6
CptK Swing Button: ImageIcon unter den Text AWT, Swing, JavaFX & SWT 4
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
L JavaFX TableView kein content text ändern AWT, Swing, JavaFX & SWT 2
L JavaFX Anderer Text, wenn kein Platz ist. AWT, Swing, JavaFX & SWT 1
K JavaFX TextInputDialog Button Text ändern AWT, Swing, JavaFX & SWT 1
S 2D-Grafik affine Transformation für Text-Shape AWT, Swing, JavaFX & SWT 0
B JavaFX Text wird nicht angezeigt, kein Fehler AWT, Swing, JavaFX & SWT 2
J Text in ein Textfeld eingeben und speichern AWT, Swing, JavaFX & SWT 27
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
C Swing Spinner als TableCellEditor - Text zu klein AWT, Swing, JavaFX & SWT 2
H JavaFX - Button und Text - Falsche Darstellung AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Extern den Text eines nicht fetsgelegten Buttons bekommen. AWT, Swing, JavaFX & SWT 12
zhermann FX Label text wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 12
I JavaFX formatierter Text in PDF speichern AWT, Swing, JavaFX & SWT 4
T JavaFX Text des ProgressIndicators ändern AWT, Swing, JavaFX & SWT 2
E Swing Text verschwindet AWT, Swing, JavaFX & SWT 1
G JavaFX - Während AudioRecording keine Text eingabe TextField möglich AWT, Swing, JavaFX & SWT 6
G Rectangle Breite richtet such an die Breite vom Text AWT, Swing, JavaFX & SWT 1
Sanni94 JavaFX Kann man eine Grafik in einen Text einbinden? AWT, Swing, JavaFX & SWT 2
S JTextArea Text nach oben wandern lassen AWT, Swing, JavaFX & SWT 7
F Icons neben Text in Listview setzen AWT, Swing, JavaFX & SWT 2
K Rich Text FX von TomasMikula AWT, Swing, JavaFX & SWT 0
M Text in einem Label fett setzen AWT, Swing, JavaFX & SWT 4
S JAVAFX HTMLEditor wrap text AWT, Swing, JavaFX & SWT 1
J JavaFX Translation Text/Label AWT, Swing, JavaFX & SWT 2
K Swing JTable mit ImageIcon und Text in einer Zelle AWT, Swing, JavaFX & SWT 1
A JavaFX HTMLEditor in Text umwandeln AWT, Swing, JavaFX & SWT 2
M Swing jButton Text verschwindet AWT, Swing, JavaFX & SWT 2
J JavaFX Bestimmte Zellen im TableView ändern (Farbe und Text) AWT, Swing, JavaFX & SWT 1
2 JLabel - setText ändert den Text nicht AWT, Swing, JavaFX & SWT 4
B Jlabel Text von anderen Klasse aus ändern AWT, Swing, JavaFX & SWT 9
stylegangsta JLabel anzuzeigenden Text zentrieren AWT, Swing, JavaFX & SWT 9
javampir Java FX Text verschwindet nicht AWT, Swing, JavaFX & SWT 9
Tausendsassa Text changed event handler jTextField AWT, Swing, JavaFX & SWT 3
Tom299 JavaFX Text oder Label benutzen AWT, Swing, JavaFX & SWT 4
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
M Swing JTextPane, Bilder und Text-flow AWT, Swing, JavaFX & SWT 2
Z AWT JLabel setzt kein neuen Text AWT, Swing, JavaFX & SWT 6
D Event Handling Aus einer anderen Klasse heraus einen Text des JLabels ändern. AWT, Swing, JavaFX & SWT 12
T JavaFX Editable Combobox Text-Selektierung nach Trigger AWT, Swing, JavaFX & SWT 4
S JLabel-Text in Methode setzen? AWT, Swing, JavaFX & SWT 2
F JPanel "zeichnet" keinen Text AWT, Swing, JavaFX & SWT 14
U WYSIWYG Text-Editor für JFrames AWT, Swing, JavaFX & SWT 8
C Button Text in JList neue Zeile AWT, Swing, JavaFX & SWT 6
T MausClick soll TExt ändern AWT, Swing, JavaFX & SWT 6
J Text bei Eingabe löschen AWT, Swing, JavaFX & SWT 5
A SWT Auto completion in text box AWT, Swing, JavaFX & SWT 5
C Geloest: JTextfield: Titel automatisch entfernen, sobald Text eingegeben wird AWT, Swing, JavaFX & SWT 1
I Text zur Linie zeichnen AWT, Swing, JavaFX & SWT 1
J JavaFX JavaFX Probleme bei der Anzeige von Text AWT, Swing, JavaFX & SWT 18
X AWT Text der mit Graphics "drawString(...)" geschreiben wurde wieder löschen. AWT, Swing, JavaFX & SWT 6
O Swing Text aus Textfield auslesen AWT, Swing, JavaFX & SWT 8
B Text auf Display ausgeben [LWJGL] AWT, Swing, JavaFX & SWT 2
G Text im textfeld in einem Editor anzeigen AWT, Swing, JavaFX & SWT 18
S TextArea get Selected row(Text) AWT, Swing, JavaFX & SWT 6
A Radio Buttons sollen den Text der text Area bestimmen AWT, Swing, JavaFX & SWT 9
BRoll JButton Text nicht ausblenden ("...") AWT, Swing, JavaFX & SWT 2
J LayoutManager Text Spielerein GUI AWT, Swing, JavaFX & SWT 2
H Javafx - Styled Text AWT, Swing, JavaFX & SWT 5
M Text Area 1. Zeile oben AWT, Swing, JavaFX & SWT 4
A Swing Focus der Radio Buttons + text bleibt gleich und gleichzeitige ausgabe zweier Objekte in 1. Fenster AWT, Swing, JavaFX & SWT 3
R JavaFX Automatischer Zeilenumbruch in Text AWT, Swing, JavaFX & SWT 13
P JList/JScroolPane Text verschieben und text wrappen AWT, Swing, JavaFX & SWT 3
F Dialog mit Titel, Text und Ok Button AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben