JavaSwingアプリケーションで請求書を印刷しようとしています。私は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