Swing/MatteBorder のバックアップの現在との差分(No.9)
- category: swing folder: MatteBorder title: MatteBorderでラベル枠を修飾 tags: [MatteBorder] tags: [MatteBorder, JLabel] author: aterai pubdate: 2004-12-20T00:29:03+09:00 description: MatteBorderでラベルの枠を修飾します。 description: JLabelの装飾にMatteBorderを使用し、4辺でそれぞれ異なる線幅の枠を描画します。 image:
概要
MatteBorder
でラベルの枠を修飾します。
概要
JLabel
の装飾にMatteBorder
を使用し、4
辺でそれぞれ異なる線幅の枠を描画します。
Screenshot
Advertisement
サンプルコード
サンプルコード
#spandel
Border outside = BorderFactory.createMatteBorder(0,10,1,0,Color.GREEN);
#spanend
#spandel
Border inside = BorderFactory.createEmptyBorder(0,5,0,0);
#spanend
#spanadd
Border outside = BorderFactory.createMatteBorder(0, 10, 1, 0, Color.GREEN);
#spanend
#spanadd
Border inside = BorderFactory.createEmptyBorder(0, 5, 0, 0);
#spanend
label.setBorder(BorderFactory.createCompoundBorder(outside, inside));
View in GitHub: Java, Kotlin解説
MatteBorder
は、4
辺それぞれに色などを表示することができます。上記のサンプルでは、左と下のみ枠を描いてタイトル風のラベルを作成しています。アイコンをタイル状に描画することもできるので、JComboBoxにアイコンを表示のような使い方をする場合もあります。
解説
-
4
辺それぞれ異なる幅の直線を描画可能なMatteBorder
を使用して左(10px
)と下(1px
)のみフチを描画- 内部余白を
EmptyBorder
で作成し、上記のMatteBorder
と組み合わせてCompoundBorder
を作成
- 内部余白を
- JComboBoxにアイコンを表示のように
Border
としてIcon
をタイル状に描画する方法もある