Hi,
ich find den Fehler in meinem Prog nicht. Hoff, ihr könnt mir helfen.
Ich hab eine JEditorPane mit einem HTMLDocument. Wenn ich nun Text zu der JEditorPane über das HTMLEditorKit hinzufügen möchte, passiert nichts :-(
Ich hab das ganze mal in eine kleine ausführbare Testklasse gepackt:
Nach meinem Verständnis müsste die Methode fillWithTestdata() doch Text in die JTextPane schreiben...
Es erscheint jedoch kein Text in der GUI. Auch beim debuggen passiert nichts - mit nem BreakPoint nach dem insertHTML bekomme ich für textPane.getText() immer nur das leere HTML-Document fragement - also ohne den TestText.
ich find den Fehler in meinem Prog nicht. Hoff, ihr könnt mir helfen.
Ich hab eine JEditorPane mit einem HTMLDocument. Wenn ich nun Text zu der JEditorPane über das HTMLEditorKit hinzufügen möchte, passiert nichts :-(
Ich hab das ganze mal in eine kleine ausführbare Testklasse gepackt:
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.ScrollPaneConstants;
import javax.swing.text.html.HTML;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.HTMLEditorKit;
public class Test {
private JTextPane textPane;
private HTMLEditorKit ekit;
private HTMLDocument edoc;
private JScrollPane scrollPane;
Test() {
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
frame.setSize(500, 500);
frame.setVisible(true);
ekit = new HTMLEditorKit();
textPane = new JTextPane();
textPane.setBackground(Color.BLUE);
textPane.setEditorKit(ekit);
edoc = (HTMLDocument) ekit.createDefaultDocument();
textPane.setDocument(edoc);
textPane.setEditable(false);
textPane.setContentType("text/html");
scrollPane = new JScrollPane(textPane);
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.setPreferredSize(new Dimension(500, 500));
frame.add(scrollPane, BorderLayout.CENTER);
scrollPane.setVisible(true);
frame.pack();
fillWithTestdata();
}
private void fillWithTestdata() {
String content = "Testdaten";
for(int i = 1; i < 10 ; i++) {
try {
ekit.insertHTML(edoc, edoc.getLength(), content + i, 0, 0, HTML.Tag.B);
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
new Test();
}
}
Nach meinem Verständnis müsste die Methode fillWithTestdata() doch Text in die JTextPane schreiben...
Es erscheint jedoch kein Text in der GUI. Auch beim debuggen passiert nichts - mit nem BreakPoint nach dem insertHTML bekomme ich für textPane.getText() immer nur das leere HTML-Document fragement - also ohne den TestText.