Я пытаюсь распечатать счета-фактуры в приложениях Java Swing. Я делаю это, расширяя Printable
и реализуя метод public int print(Graphics g, PageFormat pf, int page)
.Как я могу скопировать строки в Java2D и добавить ... в конце?
Я хотел бы нарисовать строки в столбцах, и когда строка будет длинной, я хочу ее закрепить и дать ей закончить с помощью «...». Как измерить строку и скопировать ее в нужное положение?
Некоторые из моего кода:
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