概要

JLabelのテキスト色、背景色を半透明に設定する方法をテストします。

スクリーンショット

Swing/TranslucentLabelForeground.png

サンプルコード

JLabel label1 = new JLabel("ABC", SwingConstants.CENTER);
label1.setForeground(new Color(0x64_FF_AA_AA, true));
label1.setBackground(new Color(0x64_64_C8));
label1.setFont(new Font(Font.MONOSPACED, Font.BOLD, 140));

String style = "color:rgba(255,170,170,0.4);font-size:140pt";
JLabel label2 = new JLabel(String.format("<html><span style='%s'>ABC", style));
label2.setBackground(new Color(0x64_64_C8));
label2.setHorizontalAlignment(SwingConstants.CENTER);
view all

解説

  • 一行目
    • JLabel#setForeground(...)メソッドでテキスト色に半透明色を設定
    • 親のJPanelまでテキスト色を透過させる場合はJLabel#setOpaque(true)でコンポーネントの背景を透明化(描画しない)する、またはJLabel#setBackground(...)メソッドで透明・半透明の背景色を設定する必要がある
  • 二行目

参考リンク

コメント