Java低速GUI Swing 5
■ このスレッドは過去ログ倉庫に格納されています
0809デフォルトの名無しさん
2007/08/26(日) 08:09:30Swing だと自前でやるしかない。
java.awt.Component#setComponentOrientation(ComponentOrientation)
java.awt.ComponentOrientation#isHorizontal()
ってのが使えそうなんだけど、これ縦書き用のインスタンス持ってないから。
OSが縦書き用フォント持ってれば
縦書き用フォントから字形ひっぱってきて 90度回転させて表示するとか、
もしくは横書き用フォントから字形ひっぱってきて
英数文字や鍵括弧のように90度回転させるか
日本語のように縦書きするか決めてながら、自前で再配置するとかしないとダメ。
フォントから字形を引っ張ってくるには
java.awt.Font#createGlyphVector
java.awt.font.GlyphVector#getOutline
回転させるには
java.awt.geom.AffineTransform#getRotateInstance
java.awt.geom.AffineTransform#getTransformedShape
あたり使え。
AttributedCharacterIterator とかの書式付きでやりたいなら
GlyphVector の代わりに TextLayout 使うと便利。
■ このスレッドは過去ログ倉庫に格納されています