我正在尝试创建一个可滚动的JTextPane来显示HTML。我有它的工作,除了试图获得正确的大小。似乎无论我做什么,我都无法影响窗格的宽度。
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);
我在JTextPane和JScrollPane上尝试过setize,但都没有影响宽度。似乎它想要将宽度设置为最长的宽度< p>标记而不是将HTML包装在指定的大小内。我似乎无法找到的是一种设置JOptionPane大小的方法,但我的理解是,如果组件的大小正确,则不应该这样做。有人能告诉我我错过了什么吗? TIA。
答案 0 :(得分:0)
app.directive('ngConfirmClick', [
function() {
return {
link: function (scope, element, attr) {
var msg = attr.ngConfirmClick || "Are you sure?";
var clickAction = attr.confirmedClick;
element.bind('click',function (event) {
if (window.confirm(msg)) {
scope.$eval(clickAction)
}
});
}
};
}
]);
来电JOptionPane
。并且pack()
使用其子项的pack()
来确定其宽度和高度。默认情况下,preferredSize
的首选宽度是最长行的宽度。如果要更改此行为,
JTextPane
getPreferredSize
方法
JTextPane
上的setPreferredSize
代替JTextPane