Swing JTextPane mit JScrollPane auf JPanel scrollen nicht

janb14

Mitglied
Hey Leute ,
das hört sich jetzt vllt. nach einer dummen Frage an aber eich weiß einfach nicht mehr weiter.Ich habe jetzt schon wirklich viele Lösungsansätze probiert aber nicht klappt so wie es am Ende aussehen soll ;(
Ich hoffe ihr könnt mir helfen :
Mein Problem : Ich will ein scrollbares JTextPane als Ausgabelog nutzen was natürlich stehts den neusten eintrag zeigen soll sich aber ebenso von Hand ziehen lassen soll.So weit zur Theorie.Nun sieht mein Code wie folgt aus:
Java:
package Utilities;

import java.awt.BorderLayout;
import java.awt.Color;

import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.text.BadLocationException;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyledDocument;

@SuppressWarnings("serial")
public class ConsoleLog extends JPanel{

	private JTextPane consolelog_Pane;
	private JScrollPane consolelog_ScrollPane;
	
	private SimpleAttributeSet err;
	
	public ConsoleLog() {
		setLayout(new BorderLayout());
		consolelog_Pane = new JTextPane();
		consolelog_Pane.setEditable(false);
		consolelog_ScrollPane = new JScrollPane(consolelog_Pane);	

//		 DefaultCaret caret = (DefaultCaret) consolelog_Pane.getCaret();
//	       	caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
	       	
//		consolelog_ScrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {  
//		    public void adjustmentValueChanged(AdjustmentEvent e) {  
//		        e.getAdjustable().setValue(e.getAdjustable().getMaximum());  
//		    }
//		});
		
		
        add(consolelog_ScrollPane);
        
        
        err = new SimpleAttributeSet();
        StyleConstants.setForeground(err, Color.RED);
        
	}
	
	public void write(String text) throws BadLocationException{
		StyledDocument doc = consolelog_Pane.getStyledDocument();
		doc.insertString(doc.getLength(), text + " \n", null );
//		consolelog_ScrollPane.revalidate();
//		System.out.println(consolelog_ScrollPane.getVerticalScrollBar().getMaximum());
//		consolelog_ScrollPane.getVerticalScrollBar().setValue(100);
		//consolelog_Pane.setCaretPosition(consolelog_Pane.getStyledDocument().getLength());
	}
	
	public void errwrite(String text) throws BadLocationException{
		StyledDocument doc = consolelog_Pane.getStyledDocument();
		doc.insertString(doc.getLength(), text + " \n", err );
//		consolelog_ScrollPane.revalidate();
//		consolelog_ScrollPane.getVerticalScrollBar().setValue(100);
		//consolelog_ScrollPane.getVerticalScrollBar().setValue(consolelog_ScrollPane.getVerticalScrollBar().getMaximum());
		//consolelog_Pane.setCaretPosition(consolelog_Pane.getStyledDocument().getLength());
	}

}

Schreiben tue ich wie flolgt zum testen:
Java:
try {
	for (int i = 0;i < 20;i++){
	consolelog.write("test"+i);
	}
	consolelog.errwrite("test");
} catch (BadLocationException e) {
	e.printStackTrace();
}

Hier einmal noch ein Screenshot:


Mann sieht gut das die Scrollbar oben ist aber standartmäßig unten sein sollte um die aktuellen infos zu zeigen.
 

janb14

Mitglied
Danke hab das aber schon probiert und bin selbst auch des googlen mächtig ^^
naja auch wenn ich das einbaue:
Java:
  public void write(String text) throws BadLocationException{
		StyledDocument doc = consolelog_Pane.getStyledDocument();
		doc.insertString(doc.getLength(), text + " \n", null );


		JScrollBar vertical = consolelog_ScrollPane.getVerticalScrollBar();
		vertical.setValue( vertical.getMaximum() );


//		consolelog_ScrollPane.revalidate();
//		System.out.println(consolelog_ScrollPane.getVerticalScrollBar().getMaximum());
//		consolelog_ScrollPane.getVerticalScrollBar().setValue(100);
		//consolelog_Pane.setCaretPosition(consolelog_Pane.getStyledDocument().getLength());
	}

dann passieren auf einmal lustige Dinge :D
siehe hier :
 

janb14

Mitglied
War nur ein Test is ja auch grad draußen hat aber eh nix gebracht.Dachte wenn ich die Scrollbar auf 100 oder maximum oder so stelle bin ich am Ende des TextPanes ....
 

janb14

Mitglied
Hat den keiner noch eine Idee warum es nicht funktioniert? Ich will nicht wieder zu JTextArea zurück auch wenn das reibungslos geklappt hat weil man da kein Styled document verwenden kann.Pls help me!!!!
 

janb14

Mitglied
Kann mir echt keiner bei dem Problem weiterhelfen??? Ich habs auch schon mit :
[Java]
consolelog_Pane.getDocument().addDocumentListener(new DocumentListener() {

@Override
public void removeUpdate(DocumentEvent e) {
}
@Override
public void insertUpdate(DocumentEvent e) {

JScrollBar vertical = consolelog_ScrollPane.getVerticalScrollBar();
vertical.setValue(consolelog_ScrollPane.getVerticalScrollBar().getMaximum());

}
@Override
public void changedUpdate(DocumentEvent e) {
}
});[/Java]
versucht hat aber auch nicht hingehauen er kann auis irgendeinem Grund den Maxwert der Scrollbar nicht richtig ermitteln und get nur bis 22 obwohl die Bar über 210 groß sein Sollte.

PS:
Habs auch schon mit :
Java:
consolelog_ScrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {  
		    public void adjustmentValueChanged(AdjustmentEvent e) {  
		    	e.getAdjustable().setValue(e.getAdjustable().getMaximum());  
		    }
		});
versucht.
Das funzt überaschender weise und er findet auch den letzten wert und scrollt bis nach unten.So weit so gut nur ist mann dann nichtmehr in der Lage manuell nach oben zu scrollen :(.Was nun?
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
xehpuk Swing Line-wrapping von JTextPane (in JScrollPane) AWT, Swing, JavaFX & SWT 3
xehpuk Swing JTextPane in JScrollPane wird nicht ordentlich neugezeichnet AWT, Swing, JavaFX & SWT 3
P Swing Sichtbaren teil eines JTextPane herausbekommen (mit JScrollPane) AWT, Swing, JavaFX & SWT 2
M Swing JTextPane mit JScrollPane soll aussehen wie JLabel AWT, Swing, JavaFX & SWT 3
J Problem mit JTextPane & JScrollPane (horizontal) AWT, Swing, JavaFX & SWT 3
A JScrollPane in JTextPane AWT, Swing, JavaFX & SWT 2
H Scroll-Problem bei JScrollPane+JTextPane AWT, Swing, JavaFX & SWT 2
T JTextPane in JScrollPane NICHT autom. nach unten scrollen AWT, Swing, JavaFX & SWT 3
B Stylen eines JTextPane funktioniert nicht AWT, Swing, JavaFX & SWT 1
T JTextPane ignoriert HTML Zeilenumbruch <br> tag wegen eigenem HTMLEditorKit AWT, Swing, JavaFX & SWT 5
J Swing JTextpane aktuallisiert nicht den setText? AWT, Swing, JavaFX & SWT 9
M Strings im JTextPane vergleichen und mit StyledDocument formatieren AWT, Swing, JavaFX & SWT 3
X JTextPane automatischer Zeilenumbruch IM Wort AWT, Swing, JavaFX & SWT 2
R GUI Element in einer Methode aktualisieren (JTextPane) AWT, Swing, JavaFX & SWT 13
M Swing JTextPane, Bilder und Text-flow AWT, Swing, JavaFX & SWT 2
D Swing Breite einer HTML Tabelle in einer JTextPane AWT, Swing, JavaFX & SWT 6
S Swing Warum funktioniert der automatische Zeilenumbruch mit arabischen Zeichen beim JTextPane nicht AWT, Swing, JavaFX & SWT 3
S Swing JtextPane sau langsam AWT, Swing, JavaFX & SWT 15
C JTextPane scrollt mit setText() immer nach oben AWT, Swing, JavaFX & SWT 2
S Swing Style Attribute aus JTextPane kopieren AWT, Swing, JavaFX & SWT 1
E JTextPane Focus AWT, Swing, JavaFX & SWT 1
TheJavaKid JTextPane: komplexe Formatierung (links) AWT, Swing, JavaFX & SWT 2
B Swing JTextPane - Einfärbungen auf "default" AWT, Swing, JavaFX & SWT 2
A Swing Einrücken mehrerer Zeilen per Tab in einem JTextPane/JTextArea AWT, Swing, JavaFX & SWT 3
T JtextPane Zeile aktualisieren AWT, Swing, JavaFX & SWT 3
T Hintergrundbild in JTextPane fixieren AWT, Swing, JavaFX & SWT 2
M Swing JTextPane frisst Anführungszeichen AWT, Swing, JavaFX & SWT 2
M Swing JTextPane + Scrollbar = Fragen AWT, Swing, JavaFX & SWT 15
H Swing JTextPane hat unästhetisches Scrollbar AWT, Swing, JavaFX & SWT 3
R Swing Renderproblem bei HTML in einer JTextPane AWT, Swing, JavaFX & SWT 12
N Swing JTextPane zur Anzeige von HTML AWT, Swing, JavaFX & SWT 2
E Swing jTextPane Text datei anzeigen AWT, Swing, JavaFX & SWT 7
Tobse Swing [JTextPane] Farbliche Hervorhebung AWT, Swing, JavaFX & SWT 9
X Swing JTextPane bei Größenänderung Formatierung behalten AWT, Swing, JavaFX & SWT 11
0 JTextPane copy/paste trotz editable(false) ? AWT, Swing, JavaFX & SWT 10
T Swing JTextPane Tastatureingabe abfangen AWT, Swing, JavaFX & SWT 4
B Durchsichtiges JScroll und JTextPane AWT, Swing, JavaFX & SWT 4
S Swing JTextPane append formatprobleme AWT, Swing, JavaFX & SWT 5
C JTextPane / JEditorPane ohne Keywords farbig machen AWT, Swing, JavaFX & SWT 4
C Zeilenumbruch von JTextPane wird nicht erkannt AWT, Swing, JavaFX & SWT 2
S JEditorPane oder JTextPane? AWT, Swing, JavaFX & SWT 2
P Aktuelle Zeile in JTextPane farblich hervorheben AWT, Swing, JavaFX & SWT 3
J JTextPane Background setzen AWT, Swing, JavaFX & SWT 6
T Text in JTextPane vertikal (!) zentrieren AWT, Swing, JavaFX & SWT 4
M Zugriff paralleler Threads auf selbes JTextPane AWT, Swing, JavaFX & SWT 6
M JTextPane - bewegungsloses Hintergrundsbild (Duplikat) AWT, Swing, JavaFX & SWT 2
B JTextPane formatierten Inhalt speichern AWT, Swing, JavaFX & SWT 2
E JTextPane setText ignoriert \n AWT, Swing, JavaFX & SWT 6
C Swing JTextPane zeigt HTML-Text aus Variable nicht an :( AWT, Swing, JavaFX & SWT 3
T Zeichen zählen JTextPane AWT, Swing, JavaFX & SWT 4
K Swing JTextPane Formatierungen SyntaxHighlighting AWT, Swing, JavaFX & SWT 11
F Mit TAB JTextPane wechseln AWT, Swing, JavaFX & SWT 5
J JSlider auf JTextPane? AWT, Swing, JavaFX & SWT 2
S Buchstabenpositionen in JTextPane erhalten..? AWT, Swing, JavaFX & SWT 5
I JTextPane und Hyperlink (ohne JEditorPane) AWT, Swing, JavaFX & SWT 5
T Swing JTextArea, JTextPane, JEditorPane...Unterschied?! AWT, Swing, JavaFX & SWT 3
A Swing JTextPane sehr langsam AWT, Swing, JavaFX & SWT 6
P Drucken von Jtextpane mit Seitenangabe AWT, Swing, JavaFX & SWT 1
A JTextPane: Text hinzufügen AWT, Swing, JavaFX & SWT 9
E Swing JTextPane Inhalt(Text und Bilder) als HTML text bekommen AWT, Swing, JavaFX & SWT 3
K Swing jTextPane zeilenumbruch AWT, Swing, JavaFX & SWT 2
Stillmatic JTextPane langsam? AWT, Swing, JavaFX & SWT 5
E Swing JTextPane linewrap AWT, Swing, JavaFX & SWT 4
M Swing [JTextPane] Cursor lässt sich nicht mit Pfeiltasten bewegen AWT, Swing, JavaFX & SWT 3
T Swing xml in JTextPane mit EditorKit, StyledDocument & co. AWT, Swing, JavaFX & SWT 3
M Cursor setzen im JTextPane AWT, Swing, JavaFX & SWT 3
M Formatierungsfehler JTextPane WARUM ?? AWT, Swing, JavaFX & SWT 4
JavaKaffee Array auslesen in jTextPane? AWT, Swing, JavaFX & SWT 9
E JTextPane Bold Italic und Co AWT, Swing, JavaFX & SWT 6
M JTextPane Ende des Feldes AWT, Swing, JavaFX & SWT 4
D JTextPane - Text andersfarbig unterstreichen AWT, Swing, JavaFX & SWT 7
P Probleme mit JTextpane AWT, Swing, JavaFX & SWT 7
M Größe von JTextPane manuell bei Bedarf anpassen AWT, Swing, JavaFX & SWT 6
bugmenot JTextPane String stimmt nicht mit übergebenem String überein AWT, Swing, JavaFX & SWT 9
C JTextPane <br oder <p> statt \n AWT, Swing, JavaFX & SWT 2
C JTextPane HTML und eigene Tags AWT, Swing, JavaFX & SWT 10
G JTextPane durchsichtig? AWT, Swing, JavaFX & SWT 6
GilbertGrape Fehler bei HTML in JTextPane AWT, Swing, JavaFX & SWT 2
S JTextPane: Probem mit AlignmentAction AWT, Swing, JavaFX & SWT 3
B JTextPane und Image importieren in HTML String. AWT, Swing, JavaFX & SWT 2
J JTextPane mit genau 80 Zeichen breite definieren? AWT, Swing, JavaFX & SWT 3
J Html in JTextPane anzeigen? AWT, Swing, JavaFX & SWT 2
Steev JTextPane mit Textformatierung funktioniert nicht AWT, Swing, JavaFX & SWT 5
S JTextPane - markierten Text Formatieren AWT, Swing, JavaFX & SWT 11
P HTMLDocument in einem JTextPane. Anhängen von HTML-Code AWT, Swing, JavaFX & SWT 2
M Makierten Text in JTextPane zentrieren AWT, Swing, JavaFX & SWT 2
F JTextPane aktive Zeile AWT, Swing, JavaFX & SWT 2
G insert & JTextPane AWT, Swing, JavaFX & SWT 4
J JTextPane bekommt keinen Focus! AWT, Swing, JavaFX & SWT 3
S Farben eienr JTextPane dynamisch zuweisen AWT, Swing, JavaFX & SWT 2
R JTextPane scrollen vermeiden AWT, Swing, JavaFX & SWT 2
B Feste Breite einer JTextPane, die HTML anzeigt AWT, Swing, JavaFX & SWT 8
B Swing Logging: Ein/Ausblenden eines scrollenden JTextPane AWT, Swing, JavaFX & SWT 2
F Java JTextPane AWT, Swing, JavaFX & SWT 13
Saxony JTextPane - letzte Zeile löschen AWT, Swing, JavaFX & SWT 4
TheJavaKid LineWrap & WrapStyleWord in JTextPane AWT, Swing, JavaFX & SWT 3
G Zeilenabstand bei HTML-Texten in JLabel/JTextPane AWT, Swing, JavaFX & SWT 7
O Swing Xml highlightning mit JTextPane und Regular expressions AWT, Swing, JavaFX & SWT 5
J JTextPane Alignment AWT, Swing, JavaFX & SWT 6
Y entfernten String einer JTextPane per DocumentListener AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben