OK, so war der einfachste Ansatz JTextPane zu verlängern. Die erweiterte Klasse erstellt und verwaltet die zugrunde liegende Liste. Bei Formatwechsel (zB neue Farben) formatiert die Liste die Daten komplett neu. Das einzige wirkliche Problem war, dass die Auto-Scrolling nicht 100% zuverlässig ist, Both:
Container parent = getParent();
// get the parent until scroll pane is found
while (parent != null && !(parent instanceof JScrollPane)) {
parent = parent.getParent();
}
if (parent != null) {
JScrollPane scrollPane = (JScrollPane)parent;
scrollPane.getVerticalScrollBar().setValue(scrollPane.getVerticalScrollBar().getMaximum());
}
und
scrollRectToVisible(new Rectangle(0, getHeight() - 2, 1, 1));
inkonsistente Ergebnisse mit dem Textbereich Geben Sie manchmal nicht den ganzen Weg zu scrollen.
Welche Klasse (n) werden als Objekte (Modell) verwendet? – ksuralta
Ich habe einen Vektor von proprietären Objekten - jeder enthält einen String und andere Informationen. Im Idealfall würde eine Art benutzerdefinierter Renderer den Textbereich formatieren und anhängen, aber ich kann nicht herausfinden, wie man ihn zusammenhält. – Pool