gpt4 book ai didi

java - 带有 HTML 的 JtextPane 太宽

转载 作者:太空宇宙 更新时间:2023-11-04 12:29:58 27 4
gpt4 key购买 nike

我正在尝试创建一个可滚动的 JTextPane 来显示 HTML。除了尝试调整尺寸之外,我让它正常工作。看来无论我做什么,我都无法影响 Pane 的宽度。

JTextPane tp=new JTextPane();
tp.setSize(300,300);
tp.setContentType("text/html");
HTMLDocument html=(HTMLDocument) tp.getDocument();
html.putProperty("IgnoreCharsetDirective", new Boolean(true));
HTMLEditorKit htmle=(HTMLEditorKit) tp.getEditorKit();
try {
htmle.insertHTML(html,html.getLength(),content,0,0,null);
} catch (BadLocationException | IOException e) {
// Should not get here
e.printStackTrace();
}
JScrollPane scroll=new JScrollPane(tp,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scroll.setSize(200,300);
JOptionPane.showMessageDialog(null,scroll,title,JOptionPane.INFORMATION_MESSAGE);

我已经在 J​​TextPane 和 JScrollPane 上尝试过 setsize,但都没有影响宽度。看起来它想要将宽度设置为最长的

标签的宽度,而不是将 HTML 包裹在指定的大小内。我似乎找不到设置 JOptionPane 大小的方法,但我的理解是,如果组件大小正确,则没有必要。有人能告诉我我错过了什么吗? TIA。

最佳答案

JOptionPane 调用 pack()pack() 使用其子级的 preferredSize 来决定其宽度和高度。默认情况下,JTextPane 的首选宽度是最长行的宽度。如果您想改变这种行为,

  • 或者重写 JTextPanegetPreferredSize 方法
  • 或者在 JTextPane 上使用 setPreferredSize 而不是 setSize

关于java - 带有 HTML 的 JtextPane 太宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37955791/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com