这与我的上一个问题非常相似,但是在JPanel中这样做我试图在JPanel(固定大小)中显示一个JEditorPane,然后显示一个HTML文本字符串。 (这是我可以使用卡布局和开关面板与不同的显示器)。我可以再次显示所有内容,但似乎我传递到EditorPane的HTML字符串中的文本没有切断并换行到新行。即它只是伸出屏幕。 似乎setSize方法与Pane的大小无关?
我正在为不同大小的屏幕制作这个应用程序,因此重要的是文本包装到新行并适合屏幕大小而不是跑掉!当EditorPane直接位于JFrame而不是JPanel时,它可以工作。
JEditorPane pane = new JEditorPane();
pane.setEditable(false);
HTMLDocument htmlDoc = new HTMLDocument () ;
HTMLEditorKit editorKit = new HTMLEditorKit () ;
pane.setEditorKit (editorKit) ;
pane.setSize(size);
pane.setMinimumSize(size);
pane.setMaximumSize(size);
pane.setOpaque(true);
pane.setText("<b><font face=\"Arial\" size=\"50\" align=\"center\" > Unfortunately when I display this string it is too long and doesn't wrap to new line!</font></b>");
bg.add(pane, BorderLayout.CENTER);
非常感谢Sam
答案 0 :(得分:6)
..."Unfortunately when I display this string it is too long and doesn't wrap to new line!"
使用body元素中的样式设置宽度,如this example。
答案 1 :(得分:3)
好吧,你不要在你的应用程序中使用setXXXSize方法。请参阅此thread。
只需考虑几个因素:
注意:
我知道在某些情况下使用setXXXmethods似乎工作正常。在了解了多少错误之前,我做了很长时间。尽量避免这种情况,或者很快或者很晚,你会有很多代码要重构。