JTextArea - Zeichenbegrenzung nach .txt Datei import

Alublech

Mitglied
Hallo Leute

Ich habe ein Problem mit der Zeichenbegrenzung, nachdem ich den Inhalt aus einer .txt Datei importiert habe. Ohne den Import der Datei funktioniert die Zeichenbegrenzung einwandfrei, doch wenn ich den Befehl für den Import gemacht habe, ist die Zeichebgrenzung praktisch aufgehoben.

Texfeld:
Java:
JTextArea	tp = new JTextArea();
		tp.setLineWrap(true);
		tp.setBorder(BorderFactory.createEtchedBorder());
		tp.setDocument(new FieldSize(140));
		try {
            tp.read(new FileReader("d:/test.txt"), "");
        } catch (Exception e) {
            e.printStackTrace();
        }

FieldSize:
Java:
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

public class FieldSize extends PlainDocument
{
private int max = 10;

public FieldSize(int max)
{
this.max = max;
}
 
@Override
public void insertString(int offs, String str, AttributeSet a)
throws BadLocationException
{
// check string being inserted does not exceed max length
 
if (getLength()+str.length()>max)
{
// If it does, then truncate it

str = str.substring(0, max - getLength());
}
super.insertString(offs, str, a);
}
}


mfg
Alublech
 
S

SlaterB

Gast
hier der Quellcode, der das aufklären dürfte:

Java:
    public void read(Reader in, Object desc) throws IOException {
        EditorKit kit = getUI().getEditorKit(this);
        Document doc = kit.createDefaultDocument();
        if (desc != null) {
            doc.putProperty(Document.StreamDescriptionProperty, desc);
        }
        try {
            kit.read(in, doc, 0);
            setDocument(doc);
        } catch (BadLocationException e) {
            throw new IOException(e.getMessage());
        }
    }
kannst du ja mehr oder weniger nachbauen und dann dein Document einbeziehen,
zumindest als ersten Versuch,
oder komplett manuell auf normalen Wege die Datei einlesen und normal den String setzen
 
S

SlaterB

Gast
das Direkteste wäre, die Codestellen genau dorthin zu kopieren wo dein Aufruf steht,
bei Aufrufen wie getUI() muss tp. davorgestellt werden,

nicht verwendeter Kram wie
> doc.putProperty(Document.StreamDescriptionProperty, desc);
kann offensichtlich vorerst wäg

Alternativen sind Untermethoden, die GUI-Klasse überschreiben usw., aber was soll ich da groß erzählen
 

Alublech

Mitglied
Ich habe nach dem einfügen aber noch ein paar Probleme.
Das "read" hat einen fehler: " void is an invalid type for the variable read" und er sagt bei einem komma in der klammer , es sei ein Fehler. Also irgendwas mache ich falsch.

Java:
public void addComponents() {
		//Komponenten initialisieren
		Icon icon = new ImageIcon("send.gif");
		Icon icon2 = new ImageIcon("random.gif");
		Icon icon3 = new ImageIcon("logout.gif");
		Icon icon4 = new ImageIcon("happy.gif");
		Icon icon5 = new ImageIcon("angry.gif");
		Icon icon6 = new ImageIcon("tired.gif");
		Icon icon7 = new ImageIcon("frightened.gif");
		Icon icon8 = new ImageIcon("bad.gif");
		Icon icon9 = new ImageIcon("suprised.gif");
		Icon icon10 = new ImageIcon("tweets.gif");
		
    	TextArea 	tt = new TextArea();
		JTextArea	tp = new JTextArea();
		tp.setLineWrap(true);
		tp.setBorder(BorderFactory.createEtchedBorder());
		tp.setDocument(new FieldSize(140));
		try {
            tp.read(new FileReader("d:/test.txt"), "");
        } catch (Exception e) {
            e.printStackTrace();
        }

		
		JButton		button_logout = new JButton("Logout");
		button_logout.setIcon(icon3);
		button_logout.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				int eingabe = JOptionPane.showConfirmDialog(null,
                        "Wollen sie sich wirklich abmelden?",
                        "Abmelden?",
                        JOptionPane.YES_NO_OPTION);
				 if (eingabe == JOptionPane.YES_OPTION) {
			     	 dispose();
					 Login l = new Login();
			     		l.createAndShowUI();
				 }
			}
		});
		JButton		button_send = new JButton("Senden");
		button_send.setIcon(icon);
		JButton		button_random = new JButton("Vorschlag");
		button_random.setIcon(icon2);
		JButton		button_e_happy = new JButton("Fröhlich");
		button_e_happy.setIcon(icon4);
		JButton		button_e_angry = new JButton("Wütend");
		button_e_angry.setIcon(icon5);
		JButton		button_e_tired = new JButton("Müde");
		button_e_tired.setIcon(icon6);
		JButton		button_e_scared = new JButton("Ängstlich");
		button_e_scared.setIcon(icon7);
		JButton		button_e_bad = new JButton("Traurig");
		button_e_bad.setIcon(icon8);
		JButton		button_e_suprised = new JButton("Verblüfft");
		button_e_suprised.setIcon(icon9);
		JButton		button_e_tweets = new JButton("Anzeigen");
		button_e_tweets.setIcon(icon10);
		Label		uhrzeit = new Label("Tweets");
		Label		datum = new Label("Tweets");
		
		//Komponenten platzieren
		tp.setBounds(5,450,350,150);
		tt.setBounds(5,100,800,300);
		button_logout.setBounds(820,370,110,30);
		button_send.setBounds(5,610,110,30);
		button_random.setBounds(125,610,110,30);
		button_e_happy.setBounds(570,450,110,30);
		button_e_angry.setBounds(690,450,110,30);
		button_e_tired.setBounds(570,490,110,30);
		button_e_scared.setBounds(690,490,110,30);
		button_e_bad.setBounds(690,530,110,30);
		button_e_suprised.setBounds(570,530,110,30);
		button_e_tweets.setBounds(820,330,110,30);
		
		//Komponenten sichtbar machen
		this.getContentPane().add(tt);
		this.getContentPane().add(tp);
		this.getContentPane().add(button_logout);
		this.getContentPane().add(button_send);
		this.getContentPane().add(button_random);
		this.getContentPane().add(button_e_happy);
		this.getContentPane().add(button_e_angry);
		this.getContentPane().add(button_e_tired);
		this.getContentPane().add(button_e_scared);
		this.getContentPane().add(button_e_bad);
		this.getContentPane().add(button_e_suprised);
		this.getContentPane().add(button_e_tweets);
		
		public void read(Reader in, Object desc) throws IOException {
	        EditorKit kit = tp.getUI().getEditorKit(this);
	        Document doc = kit.createDefaultDocument();
	        if (desc != null) {
	            doc.putProperty(Document.StreamDescriptionProperty, desc);
	        }
	        try {
	            kit.read(in, doc, 0);
	            setDocument(doc);
	        } catch (BadLocationException e) {
	            throw new IOException(e.getMessage());
	        }
 
S

SlaterB

Gast
eine Methode darf nicht innerhalb einer anderen Methode definiert werden (falls nicht in der Form anonymer Listener),
absolute Grundlage von aller ersten Code-Beispielen, Monate bis Jahrzehnte, bevor man je von komplizierten GUI-Komponenten hört
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Swing Mehrere Ausgaben in JTextArea AWT, Swing, JavaFX & SWT 2
B JPanel-Inhalte inkl. JTextarea zoomen? AWT, Swing, JavaFX & SWT 3
P JTextarea (in JScrollPane) zeigt nur die beiden letzten Einträge an? AWT, Swing, JavaFX & SWT 0
RedEagle Swing JTextArea ist leer AWT, Swing, JavaFX & SWT 13
E Warum wird Text im JTextArea erst am Programmende angezeigt ? AWT, Swing, JavaFX & SWT 1
E wie in JScrollPane auf JTextArea zugreifen AWT, Swing, JavaFX & SWT 12
K Swing 2 JTextArea parrallel scrollable AWT, Swing, JavaFX & SWT 16
Hatsi09 JTextArea Inhalt verlinken AWT, Swing, JavaFX & SWT 4
ralfb1105 jTextArea Scrollbar hinzufügen - mit Jigloo erstellt AWT, Swing, JavaFX & SWT 7
S Ausgabe in JTextArea AWT, Swing, JavaFX & SWT 13
H JTextArea - farbige Zeilen .. bitte um Vorschläge zur Implementierung AWT, Swing, JavaFX & SWT 1
F 2D-Grafik JTextArea drucken bringt mieses Ergebnis AWT, Swing, JavaFX & SWT 2
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
Bluedaishi JTextArea gefundene Zeile nach Oben Scrollen AWT, Swing, JavaFX & SWT 13
S JTextArea Text nach oben wandern lassen AWT, Swing, JavaFX & SWT 7
Bluedaishi JtextArea AWT, Swing, JavaFX & SWT 6
V JScrollBar soll weiterscrollen, wenn Inhalt von JTextArea erweitert wird AWT, Swing, JavaFX & SWT 7
G JTextArea mit JScrollPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
Bluedaishi JDialog modal und JTextArea AWT, Swing, JavaFX & SWT 4
F JTextarea Steuern ~ consolenanbindung AWT, Swing, JavaFX & SWT 5
F Event Handling JTextArea auf bestimmte Eingabe reagieren (Return-Taste) AWT, Swing, JavaFX & SWT 2
F JTextArea hat keinen Rahmen AWT, Swing, JavaFX & SWT 10
N JTextArea Events weiterleiten AWT, Swing, JavaFX & SWT 3
R JTextArea mit verschiedenen Textfarben AWT, Swing, JavaFX & SWT 6
M JTextArea wird nicht aktualisiert (ActionListener-Problem) AWT, Swing, JavaFX & SWT 1
HoloYoitsu jTextArea.setCaretPosition(); What am I doing wrong? AWT, Swing, JavaFX & SWT 0
S Zeilenumbruch jTextArea mit toString AWT, Swing, JavaFX & SWT 2
F Swing String[] in JTextArea ausgeben. Jeder Eintrag in neue Zeile, aber ohne "\n"- Geht das? AWT, Swing, JavaFX & SWT 3
M JTextArea - Leertaste "sperren" AWT, Swing, JavaFX & SWT 1
S Inhalt der Java-Konsole in die JTextArea AWT, Swing, JavaFX & SWT 3
M Swing JTextArea mit ScrollBar AWT, Swing, JavaFX & SWT 9
S Swing Zahl der Zeilenumbrüche in einer JTextArea bestimmen AWT, Swing, JavaFX & SWT 1
F Swing Caret in JTextArea vergrößern AWT, Swing, JavaFX & SWT 2
D JTextArea auf KeyListener Command AWT, Swing, JavaFX & SWT 6
N JFrame änliches wie JTextArea? AWT, Swing, JavaFX & SWT 2
A Swing JTextArea - Multi-Line-Editing AWT, Swing, JavaFX & SWT 2
A Swing JTextArea aus anderer Klasse in realtime aktualisieren AWT, Swing, JavaFX & SWT 3
O JTextArea befüllen AWT, Swing, JavaFX & SWT 2
G JTextArea on the fly aus anderem Programm befüllen AWT, Swing, JavaFX & SWT 4
A Swing Einrücken mehrerer Zeilen per Tab in einem JTextPane/JTextArea AWT, Swing, JavaFX & SWT 3
T Swing Ausgabe aus ArrayList in Klasse1 in jTextArea in Klasse2 AWT, Swing, JavaFX & SWT 2
B JTextArea Größe an Container anpassen AWT, Swing, JavaFX & SWT 2
B Drucken der JTextArea AWT, Swing, JavaFX & SWT 4
M JTextArea Zeile hinzufügen AWT, Swing, JavaFX & SWT 4
C JTextArea scrollt bei append(String) aus Threads nicht ans Ende AWT, Swing, JavaFX & SWT 7
P JPanel- Listener durch JTextArea aktivieren AWT, Swing, JavaFX & SWT 8
M Swing JScrollPane (Parent JTextArea) aktualisieren + neue Zeile AWT, Swing, JavaFX & SWT 5
Hoppelmann Swing Tasten in JTextArea blockieren AWT, Swing, JavaFX & SWT 2
S JTextArea Tastaturanschläge AWT, Swing, JavaFX & SWT 2
E Swing JTextArea in JFrame, wie nun WindowFocusListener implementieren? AWT, Swing, JavaFX & SWT 2
S Problem mit JButton und JTextArea AWT, Swing, JavaFX & SWT 2
J Swing Mitwachsende JTextArea+ JPanel AWT, Swing, JavaFX & SWT 4
P Swing JtextArea füllen mit setText AWT, Swing, JavaFX & SWT 7
M Probleme mit der Selektion einer JTextArea AWT, Swing, JavaFX & SWT 3
T Die Größe einer JTextArea an Ihren Parent JPanel anpassen. AWT, Swing, JavaFX & SWT 5
hdi Swing ListCellRenderer + JTextArea + LineWrap AWT, Swing, JavaFX & SWT 6
T ComponentOrientation in JTextArea AWT, Swing, JavaFX & SWT 3
H Hintergrundbild in jTextArea AWT, Swing, JavaFX & SWT 4
G Swing JTextArea mit fester Anzahl Spalten! AWT, Swing, JavaFX & SWT 10
G ein JTextArea in zwei JPanels AWT, Swing, JavaFX & SWT 2
L JTextArea mit JScrollPane AWT, Swing, JavaFX & SWT 7
padde479 Swing replace JTextArea funktioniert nicht AWT, Swing, JavaFX & SWT 2
L Zeilenumbrüche aus JTextArea MIT in Textdatei schreiben AWT, Swing, JavaFX & SWT 4
_dp jTextArea/jTextPanel Auto Höhe AWT, Swing, JavaFX & SWT 5
Ollek JTextArea - Feste Zeilenanzahl(8 Zeilen) AWT, Swing, JavaFX & SWT 3
S Swing JTextArea während der Laufzeit füllen AWT, Swing, JavaFX & SWT 5
Ollek Text in JTextField und JTextArea zur Laufzeit ändern AWT, Swing, JavaFX & SWT 6
P Datenelement anderer Klasse in JTextArea ausgeben AWT, Swing, JavaFX & SWT 4
P Scrollbar JTextArea AWT, Swing, JavaFX & SWT 23
M Swing Ausgabe in JTextArea verzögern AWT, Swing, JavaFX & SWT 7
T Swing jTextArea soll sich der Fenstergröße anpassen beim ziehen?? AWT, Swing, JavaFX & SWT 2
S System.out in JTextArea AWT, Swing, JavaFX & SWT 4
S Swing JTextArea - Bild auf/ab Tasten implementieren AWT, Swing, JavaFX & SWT 4
J JTextArea verschwindet bei resize vom JFrame AWT, Swing, JavaFX & SWT 2
VfL_Freak "setAccelerator/KeyStroke" bei JTextArea ? AWT, Swing, JavaFX & SWT 6
P Swing JTextArea - beim neuzeichnen bleibt manchmal weißer Kasten AWT, Swing, JavaFX & SWT 10
Dit_ JTextArea zu Zeile X scrollen AWT, Swing, JavaFX & SWT 4
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9
B Wechsel JTextArea und JComponent AWT, Swing, JavaFX & SWT 9
M [erledigt] Bestimmte Zeile aus JTextArea löschen AWT, Swing, JavaFX & SWT 3
G Swing JTable und JTextArea synchronisieren AWT, Swing, JavaFX & SWT 2
C JLabel, JTextArea, JScrollPane. repaint(); ? AWT, Swing, JavaFX & SWT 6
M JTextArea AWT, Swing, JavaFX & SWT 2
E Swing JTextArea Alternative? AWT, Swing, JavaFX & SWT 5
A Swing JTextArea über Frame hinaus anzeigen? AWT, Swing, JavaFX & SWT 2
S JInternalFrame oder JTextArea neu laden AWT, Swing, JavaFX & SWT 2
N JTextArea.setLineWrap Bug? AWT, Swing, JavaFX & SWT 3
G Swing JTextArea/JScrollpane: JScrollbar position AWT, Swing, JavaFX & SWT 8
I JTextArea mit Copy Paste Funktion AWT, Swing, JavaFX & SWT 7
M Swing JTextArea größe anpassen & setBackground liefer Nullpointer AWT, Swing, JavaFX & SWT 4
Plastagen JTextArea CaretPosition Aktualisierung AWT, Swing, JavaFX & SWT 10
C JTextField und JTextArea - Verständnisproblem AWT, Swing, JavaFX & SWT 14
B Exceptions werfen und in JTextArea ausgeben AWT, Swing, JavaFX & SWT 4
F new Line in JTextarea AWT, Swing, JavaFX & SWT 15
X Problem bei JTextArea und Thread.sleep() AWT, Swing, JavaFX & SWT 8
J Beliebtes Problem: Scrollbar in JTextArea AWT, Swing, JavaFX & SWT 4
w0ddes Swing JTextArea auf JScrollPane - Autoscroll?! AWT, Swing, JavaFX & SWT 2
Developer_X Swing Java JTextArea auto scroll down AWT, Swing, JavaFX & SWT 6
T Swing JTextArea, JTextPane, JEditorPane...Unterschied?! AWT, Swing, JavaFX & SWT 3
F Swing String Array mit JTextArea anzeigen AWT, Swing, JavaFX & SWT 13

Ähnliche Java Themen

Neue Themen


Oben