【发布时间】:2019-10-16 06:29:56
【问题描述】:
我在 JLabel 中指定 html 元素的宽度时遇到了问题,我想我会在这里把它放在旗杆上,看看是否有人有任何建议。
当我使用“px”单位值指定元素的宽度时,结果大小实际上是 ~133%,而如果我不使用单位或使用“pt”,我得到的确切大小是指定。
在下面的示例中,如果将“width: 100px”更改为“width:100pt”,您将获得正确的尺寸。
这个答案https://stackoverflow.com/a/6257861/131795 似乎是相关的,72 dpi 调整似乎与我在示例中看到的不匹配匹配。
我可能在这里对一段古老的代码大发雷霆,但是为什么要转换绝对 px 值而将 pt 值视为绝对值?
public class test {
public static void main(String args[]) {
JFrame frame = new JFrame();
JLabel label = new JLabel("<html><div style='width: 100px; background-color: red;'>test</div>");
frame.getContentPane().add(label);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 200);
frame.setVisible(true);
}
}
【问题讨论】: