我正在嘗試使用HTML div標記設置JLabel的寬度。帶HTML的JLabel沒有正確設置寬度
考慮下面的代碼:
import javax.swing.*;
public class Xyzzy extends JFrame{
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
Xyzzy frame = new Xyzzy();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.PAGE_AXIS));
String s = "x ";
for (int i=0; i<200; ++i)
s += "x ";
JLabel jl = new JLabel("<html><div style=\"width: 300px;\">" + s + "</div></html>");
frame.add(jl);
frame.setSize(600, 600);
frame.setVisible(true);
}
});
}
}
我本來期望JLabel以300個像素寬,但在現實中卻是寬約390像素。如果我將寬度規格更改爲200px,則生成的標籤寬度大約爲260像素。
我在做什麼錯?
我不知道它是否總是如此,但在你的情況下,尺寸總是比給定寬度大30%,請嘗試使用'float size = 300 /1.3f; JLabel jl = new JLabel(「