0
我有一個JTextPane,並想在它內部創建一個div,與JTextPane的高度完全一致。 div應該始終是JTextPane的高度。JTextPane HTML渲染器錯誤?
public class Test {
JTextPane edit=new JTextPane();
public Test() {
JFrame frame=new JFrame("Center text vertically");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(edit);
String text = "<html><div style=\"height: 0px; border: 1px solid black;\">here is some text</div></html>";
edit.setEditorKit(new HTMLEditorKit());
edit.setContentType("text/html");
edit.setText(text);
edit.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
int height = edit.getHeight();
height -= 50; //this makes the problem more clear
String text = "<html><div style=\"height: " + height + "px; border: 1px solid black;\">here is some text</div></html>";
edit.setText(text);
}
});
frame.setSize(300,200);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public static void main(String[] args) throws Exception {
new Test();
}
}
每當JTextPane的調整大小,我坐的JTextPane的高度,並創建一個div正是這種高度。
問題是,div有時大於高度,有時小於高度。您可以通過更改框架的高度來嘗試此操作。我認爲div應該與JTextPane同等比例,但它不會...
注:JTextPane的高度計算正確(用Gimp進行雙重檢查)。
任何想法?
我安德魯,我想實現的是讓文本對齊在JTextPane的底部。我的想法是在div內使用一個表格,並說valign = bottom。因此我需要一個具有JTextPane高度的周圍div。 – matthias