JavaのJCheckBoxに境界線(ボーダー)を設定する方法
JCheckBoxとは
JCheckBoxはJToggleButtonを拡張したSwingコンポーネントの一つで、チェック済み(ON)と未チェック(OFF)の2つの状態を持つ選択肢を表します。複数のチェックボックスを配置した場合、それぞれが独立して動作するため、任意の組み合わせで同時に選択することが可能です。
境界線を設定する手順
JCheckBoxに境界線(ボーダー)を設定するには、次の2つのメソッドを使用します。
- setBorder():コンポーネントに境界線を設定するメソッド。
BorderFactoryクラスのファクトリメソッドを使って、さまざまな種類のボーダーを簡単に生成できます。 - setBorderPainted(true):境界線を描画するかどうかを指定するメソッド。
trueを設定しないと、setBorder()で指定した境界線が表示されない場合があります。
サンプルコード
import java.awt.*;
import javax.swing.*;
public class BorderedJCheckBoxTest extends JFrame {
private JCheckBox jcb;
public BorderedJCheckBoxTest() throws Exception {
setTitle("JCheckBox Test");
setLayout(new FlowLayout());
jcb = new JCheckBox("BorderedJCheckBox Test");
jcb.setBorderPainted(true); // 境界線の描画を有効化
jcb.setBorder(BorderFactory.createLineBorder(Color.red)); // 境界線を設定
add(jcb);
setSize(375, 250);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String args[]) throws Exception {
new BorderedJCheckBoxTest();
}
}
実行結果
上記のコードを実行すると、赤色の直線ボーダーが描画されたJCheckBoxが画面中央に表示されます。

その他のボーダースタイル
BorderFactoryクラスには、目的に応じて使い分けられる多彩なボーダー生成メソッドが用意されています。
- createLineBorder(Color):シンプルな直線のボーダー
- createEtchedBorder():彫り込み風のボーダー
- createBevelBorder(int):立体感のあるボーダー
- createTitledBorder(String):タイトル付きのボーダー
- createEmptyBorder(int, int, int, int):余白だけの透明なボーダー
これらを組み合わせることで、アプリケーションのUIデザインを柔軟にカスタマイズできます。特にフォーム画面などでは、createTitledBorder()を使って項目をグループ化すると、ユーザーにとって視認性の高いインターフェースになります。
-
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も発生させることができます。このイベントは、選択状態という概念を持つコンポー