Java
 Computer >> コンピューター >  >> プログラミング >> Java

【Java】JLabelのテキストに異なる色とフォントを適用する方法を解説

Java SwingでGUIアプリケーションを開発する際、JLabelのテキストを1つのラベル内で複数の色やフォントサイズに分けて表示したいケースはよくあります。実は、JLabelはHTMLタグをサポートしているため、<font>タグを活用することで簡単に実現できます。本記事では、その具体的な方法をサンプルコード付きで解説します。

JLabelクラスとは

  • JLabelクラスはJComponentクラスを継承しており、GUI上にテキストによる説明や情報を表示するために使用されます。
  • JLabelは、読み取り専用(read-only)の1行テキスト画像、またはテキストと画像の両方を表示できます。
  • <html>タグの中に<font size='フォントサイズ' color='文字色'>表示するテキスト</font>という形式で記述することで、異なる色やフォントを持つ1行のテキストを表示することも可能です。
  • JLabelは明示的にPropertyChangeListenerインターフェースを生成できます。

サンプルコード

以下の例では、1つのJLabel内で「Welcome to」と「Tutorials Point」という2つのテキスト部分に、それぞれ異なる色(青と緑)とフォントサイズを設定しています。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MultiColorLabelTest extends JFrame {
   public MultiColorLabelTest() {
      setTitle("MultiColorLabel Test");
      setLayout(new FlowLayout());
      // 複数の色と異なるフォントサイズを持つラベル
      JLabel label = new JLabel("<html><font size='5' color=blue> Welcome to</font> <font size='6' color=green> Tutorials Point</font></html>");
      add(label);
      setSize(375, 250);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String[] args) {
      new MultiColorLabelTest();
   }
}

実行結果

このプログラムを実行すると、フレーム上に「Welcome to」が青色・サイズ5、「Tutorials Point」が緑色・サイズ6で表示されたラベルが確認できます。

ポイント解説

  • JLabelのコンストラクタに渡す文字列を<html>〜</html>で囲むことで、SwingのHTMLレンダリング機能が有効になります。
  • <font>タグのsize属性でフォントサイズを、color属性で文字色を個別に指定できます。色名(blue、greenなど)のほか、#FF0000のような16進数カラーコードも使用可能です。
  • HTMLタグを使うことで、部分的な太字(<b>)斜体(<i>)、改行(<br>)なども柔軟に組み合わせられます。

このように、JLabelとHTMLタグを組み合わせれば、追加のライブラリや複雑なカスタム描画なしに、リッチなテキスト表示を手軽に実装できます。ぜひ実際のプロジェクトでも活用してみてください。

  1. JavaのJTextAreaで行の折り返しと単語単位の折り返しを実装する方法

    JTextAreaは、テキストを表示したり、ユーザーにテキストを入力させたりするための複数行対応のテキストコンポーネントです。JTextAreaコンポーネントの機能を実装する際には、CaretListenerインターフェースが活用されます。また、JTextAreaクラスは、JavaのJTextComponentクラスを継承しています。 以下の例では、JTextAreaクラスを実装し、ItemListenerインターフェースを使って、ユーザーが「word wrap(単語単位の折り返し)」と「line wrap(行の折り返し)」のチェックボックスを切り替えられるようにしています。 コード例 im

  2. JavaのJToggleButton実装ガイド:ON/OFF切替ボタンの作り方を解説

    JToggleButtonとは JToggleButtonはAbstractButtonを拡張したクラスで、クリックするたびにONとOFFが切り替わるトグルボタンを実現するために使用されます。通常のボタンと異なり、押した状態を保持できるのが特徴です。 JToggleButtonの主な特徴 最初に押されたときは押し込まれた状態のままとなり、もう一度押してはじめて元の状態(押されていない状態)に戻ります。 ボタンが押されるたびにActionEventが発生します。 さらに、JToggleButtonはItemEventも発生させることができます。このイベントは、選択状態という概念を持つコンポー