0
我正在做一些圖形處理,HTML是樣式顯示內容的完美選擇。我試圖重用swing的內置html支持,如果我將高度傳遞給View.paint的代碼進行硬編碼,它會很好地工作,但我無法弄清楚如何確定渲染內容的邊界在運行時會有多高給定一個特定的寬度。Swing的BasicHTML.createHTMLView度量使用
Graphics2D g = ...
JLabel label = new JLabel("blah blah blah...");
View view = BasicHTML.createView(label, label.getText());
int minHeight = .... // Calculation magic goes here
Rectangle htmlSize = new Rectangle(0, 0, 50, minHeight);
g.setClip(htmlSize);
view.paint(g, htmlSize);
如果我用getPreferredSize()問JLabel方向,它根本不考慮包裝。如果我嘗試使用JEditorPane,它會返回一個更大但固定大小的矩形。
謝謝。