【发布时间】:2010-05-17 13:22:19
【问题描述】:
我正在尝试在 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 限制为最大 120 像素?
我可以使用metrics.stringWidth(myString),但我不知道我必须剪断字符串的位置。
预期结果可能是:
A longer string that exc...
A shorter string.
Another long string, but OK
【问题讨论】:
标签: java string swing java-2d fontmetrics