Я пытаюсь распечатать счета в приложениях 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);
I.e Как я могу ограничить myString
максимальным размером 120 пикселей?
Я мог бы использовать metrics.stringWidth(myString)
, но я не понимаю позицию, в которой мне нужно обрезать строку.
Ожидаемые результаты могут быть:
A longer string that exc...
A shorter string.
Another long string, but OK