概要

CompoundBorderを使用して複数のBorderを合成し、新たに単一のボーダーを生成します。

サンプルコード

Border raisedBevel = BorderFactory.createRaisedBevelBorder();
Border topLine = BorderFactory.createMatteBorder(10, 0, 0, 0, Color.GRAY.brighter());
Border loweredBevel = BorderFactory.createLoweredBevelBorder();
Border compound1 = BorderFactory.createCompoundBorder(raisedBevel, topLine);
Border compound2 = BorderFactory.createCompoundBorder(compound1, loweredBevel);
TitledBorder topTitle2 = BorderFactory.createTitledBorder(compound2, "CompoundBorder");
topTitle2.setTitleJustification(TitledBorder.CENTER);

JPanel p2 = new JPanel();
p2.setBorder(topTitle2);
View in GitHub: Java, Kotlin

解説

  • TitledBorder
    • タイトルを追加するBorderとして線幅1LineBorderを使用するTitledBorderを作成してパネルに設定
  • CompoundBorder
    • 外側からRaisedBevelBorderMatteBorderLoweredBevelBorderの順番にCompoundBorderを使用してBorderを合成
    • 合成された上記のBorderを使用するTitledBorderを作成してパネルに設定

参考リンク

コメント