Font font = Font("Arial", Font.BOLD, 35);
JLabel label = new JLabel("57");
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.LINE_AXIS));
panel.add(label);
これにより、上下に余分なスペースがあるJLabelが作成されます。私はsetVerticalAlignment(SwingConstants.TOP)
を試しましたが、動作しません。繰り返しますが、JLabelを一番上に揃えたいのではなく、JLabel内のテキストを一番上に配置する必要があります。ここJLabelの垂直方向の配置が期待通りに機能しない
はFontMetrics
で説明したように、私のラベルは、グリフの名目上昇と最大アセントとの差にダイアグラムポイントの矢印
1行を忘れました。 label.setFont(font); – arpanoid
その理由は、いくつかの記号が数字よりも上に伸び、ラベルのサイズと組み合わせたラベル内のテキストの位置合わせが、複数のフォントメトリックを考慮に入れなければならないことが考えられます。 http://upload.wikimedia.org/wikipedia/commons/3/39/Typography_Line_Terms.svg質問に対する回答ではありませんが、役立つかもしれません。 –
+1の画像を含む。 「RenderingHints」(http://download.oracle.com/javase/6/docs/api/java/awt/RenderingHints.html)の価値を見落とさないように注意してください。 – trashgod