Advanced
Java
Services
|
LineWrapping bei JEditorPane |
JEditorPane selbst ist nicht scrollfähig, sondern muß in eine JScrollPane eingebettet werden,
was am Einfachsten im Konstruktor von JScrollPane geschieht. Für JEditorPane gilt das gleiche
wie für JTextPane, allerdings funktioniert das Abschalten des Zeilenumbruchs nur, wenn man
das DefaultEditorkit, das JEditorPane verwendet durch ein StyledEditorKit ersetzt.
JEditorPane in ein JPanel in ein JScrollPane
JEditorPane ep = new JEditorPane() ; StyledEditorKit sek = new StyledEditorKit() ; ep.setEditorKit(sek) ; JPanel pan = new JPanel(); pan.setLayout( new BorderLayout() ); pan.add(ep); JScrollPane sp = new JScrollPane(pan);
Überschreiben von getScrollableTracksViewportWidth()
und setSize()
JEditorPane ep = new JEditorPane() { public boolean getScrollableTracksViewportWidth() { return false ; } public void setSize(Dimension d) { if (d.width < getParent().getSize().width) { d.width = getParent().getSize().width; } super.setSize(d); } }; StyledEditorKit sek = new StyledEditorKit() ; ep.setEditorKit(sek) ; JScrollPane sp = new JScrollPane(ep);