概要

JLabelの装飾にMatteBorderを使用し、4辺でそれぞれ異なる線幅の枠を描画します。

サンプルコード

Border outside = BorderFactory.createMatteBorder(0, 10, 1, 0, Color.GREEN);
Border inside = BorderFactory.createEmptyBorder(0, 5, 0, 0);
label.setBorder(BorderFactory.createCompoundBorder(outside, inside));
View in GitHub: Java, Kotlin

解説

  • 4辺それぞれ異なる幅の直線を描画可能なMatteBorderを使用して左(10px)と下(1px)のみフチを描画
    • 内部余白をEmptyBorderで作成し、上記のMatteBorderと組み合わせてCompoundBorderを作成
  • JComboBoxにアイコンを表示のようにBorderとしてIconをタイル状に描画する方法もある

参考リンク

コメント