JavaのJListにさまざまなフォントスタイルのアイテムを追加するにはどうすればよいですか?
JListはJComponentクラスのサブクラスであり、オブジェクトの一覧を表示し、ユーザーが1つまたは複数の項目を選択できるようにするためのコンポーネントです。JListはListSelectionListenerインターフェースを生成でき、その抽象メソッドであるvalueChanged()を実装する必要があります。
また、DefaultListModelクラスはリストモデルのシンプルな実装を提供しており、JListコントロールに表示される項目を管理するために利用できます。項目をJListに追加するには、DefaultListModelクラスのaddElement()メソッドを使用します。
さらに、HTMLタグを活用することで、異なるフォントスタイルを持つ項目をJListに追加することも可能です。例えば、<b>タグで太字(ボールド)、<i>タグで斜体(イタリック)、<u>タグで下線付きテキストなどを表現できます。SwingコンポーネントはHTML形式の文字列を解釈できるため、特別なレンダラーを実装しなくても手軽に装飾されたテキストを表示できるのが特徴です。
サンプルコード
import java.awt.*;
import javax.swing.*;
public class JLabelListTest {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new JLabelListTest().makeUI();
}
});
}
public void makeUI() {
String[] data = {"<html>Raja</html>", "<html><b>Adithya</b></html>",
"<html><i>Jaidev</i></html>", "<html><u>Chaitanya</u></html>"};
JList list = new JList(data);
list.setBackground(Color.lightGray);
JFrame frame = new JFrame();
frame.getContentPane().add(new JScrollPane(list), BorderLayout.NORTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
実行結果
上記のコードを実行すると、以下のように各項目がそれぞれ異なるフォントスタイルで表示されます。「Adithya」は太字、「Jaidev」は斜体、「Chaitanya」は下線付きで描画されていることが確認できます。

ポイントまとめ
- HTMLタグを使用する場合は、文字列を<html>タグで囲む必要があります。
- <b>:太字、<i>:斜体、<u>:下線など、基本的なスタイルが手軽に適用できます。
- より高度なカスタマイズが必要な場合は、ListCellRendererを実装して独自のレンダリングを行うこともできます。
-
JavaのBorderFactoryを使ってさまざまなボーダー(境界線)を実装する方法
BorderFactoryは、Javaでさまざまな種類のボーダー(境界線)を生成するためのファクトリクラスです。このクラスを利用することで、Swingコンポーネントの外枠を簡単かつ柔軟にカスタマイズできます。ボーダーの種類BevelBorder:浮き上がった(RAISED)または沈み込んだ(LOWERED)斜めのエッジを描画します。ボタンなどに立体感を持たせたい場合に有効です。EmptyBorder:何も描画しませんが、余白としてスペースを確保します。コンポーネント間の間隔調整に役立ちます。EtchedBorder:LOWERED(沈み込み)タイプはくぼんだ矩形のような外観になり、RAISED
-
JavaのJToggleButton実装ガイド:ON/OFF切替ボタンの作り方を解説
JToggleButtonとは JToggleButtonはAbstractButtonを拡張したクラスで、クリックするたびにONとOFFが切り替わるトグルボタンを実現するために使用されます。通常のボタンと異なり、押した状態を保持できるのが特徴です。 JToggleButtonの主な特徴 最初に押されたときは押し込まれた状態のままとなり、もう一度押してはじめて元の状態(押されていない状態)に戻ります。 ボタンが押されるたびにActionEventが発生します。 さらに、JToggleButtonはItemEventも発生させることができます。このイベントは、選択状態という概念を持つコンポー