Hallo,
ich würde gerne eine feste Breite für eine JTextPane angeben, so dass der HTML Text, der in ihr angezeigt wird, umgebrochen wird, sobald diese Breite überschritten wird.
_Das_ es irgendwie geht, habe ich in einer anderen Applikation gesehen (namentlich dem Farsigardan). Meine Versuche, dieses Verhalten zu kopieren, scheintern aber kläglich. Ich habe mal ein kürzestmögliches Beispiel von meinem Code angefügt und das JTextPane wird mit einer horizontalen Scrollbar angezeigt... Wieso? (Ich habe versucht, die Constraints für die ScrollBar auf HORIZONTAL_NEVER zu setzen, aber das hilft leider auch nicht...).
Irgendwelche Ideen?
Danke.
Beren
ich würde gerne eine feste Breite für eine JTextPane angeben, so dass der HTML Text, der in ihr angezeigt wird, umgebrochen wird, sobald diese Breite überschritten wird.
_Das_ es irgendwie geht, habe ich in einer anderen Applikation gesehen (namentlich dem Farsigardan). Meine Versuche, dieses Verhalten zu kopieren, scheintern aber kläglich. Ich habe mal ein kürzestmögliches Beispiel von meinem Code angefügt und das JTextPane wird mit einer horizontalen Scrollbar angezeigt... Wieso? (Ich habe versucht, die Constraints für die ScrollBar auf HORIZONTAL_NEVER zu setzen, aber das hilft leider auch nicht...).
Irgendwelche Ideen?
Danke.
Beren
Code:
package main;
import java.awt.*;
import javax.swing.*;
public class TestApplet extends JApplet {
class FixedWidthTextPane extends JTextPane {
public FixedWidthTextPane() {
setContentType("text/html");
setEditable(false);
}
}
public void start() {
setSize(600, 770);
setLayout(new BorderLayout());
FixedWidthTextPane textPane = new FixedWidthTextPane();
Dimension size = new Dimension(580, 250);
textPane.setPreferredSize(size);
textPane.setText("<html>" +
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXWYZ" +
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" +
"</html>");
getContentPane().add(new JScrollPane(textPane), BorderLayout.SOUTH);
}
}