Я занимаюсь графической обработкой, а HTML - идеальный выбор для стилизации отображаемого контента. Я пытаюсь повторно использовать встроенную поддержку HTML в Swing, и она отлично работает, если я жестко кодирую высоту, переданную View.paint, но не могу понять, как определить, насколько высокими будут границы отображаемого содержимого во время выполнения. с учетом конкретной ширины.
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);
Если я спрашиваю направление JLabel с помощью getPreferredSize (), это вообще не учитывает перенос. Если я пытаюсь использовать JEditorPane, он возвращает прямоугольник большего, но фиксированного размера.
Спасибо.