Я пытаюсь распечатать счета в приложениях Java Swing. Я делаю это путем расширения Printable
и реализации метода public int print(Graphics g, PageFormat pf, int page)
.
Я хотел бы рисовать строки в столбцах, а когда строка слишком длинная, я хочу обрезать ее и позволить ей заканчиваться на "...". Как я могу измерить строку и обрезать ее в правильном положении?
Часть моего кода:
Font headline = new Font("Times New Roman", Font.BOLD, 14);
g2d.setFont(headline);
FontMetrics metrics = g2d.getFontMetrics(headline);
g2d.drawString(myString, 0, 20);
Т.е. как я могу ограничить myString
максимальным 120px?
Я мог бы использовать metrics.stringWidth(myString)
, но я не получил позицию, где я должен обрезать строку.
Ожидаемые результаты могут быть:
A longer string that exc...
A shorter string.
Another long string, but OK