JavaでJButtonにさまざまなボーダー(境界線)を適用する方法
JButtonはAbstractButtonクラスのサブクラスであり、Java Swingアプリケーションにおいてプラットフォームに依存しないボタンを追加するために使用されます。ユーザーがボタンをクリックするとActionListenerインターフェースが発生し、さらにマウスによる操作ではMouseListenerが、キーボードによる操作ではKeyListenerがそれぞれ生成されます。
JButtonには、LineBorder(ラインボーダー)、BevelBorder(ベベルボーダー)、EtchedBorder(エッチドボーダー)、EmptyBorder(エンプティボーダー)、TitledBorder(タイトルボーダー)など、さまざまな種類のボーダーを設定することが可能です。これらのボーダーは、JComponentクラスが提供するsetBorder()メソッドを使って簡単に適用できます。
構文
public void setBorder(Border border)
サンプルコード
import javax.swing.*;
import java.awt.*;
public class JButtonBordersTest extends JFrame {
private JButton button[];
private JPanel panel;
public JButtonBordersTest() {
setTitle("JButton Borders");
panel = new JPanel();
panel.setLayout(new GridLayout(7, 1));
button = new JButton[7];
for(int count = 0; count < button.length; count++) {
button[count] = new JButton("Button "+(count+1));
panel.add(button[count]);
}
button[0].setBorder(BorderFactory.createLineBorder(Color.blue));
button[1].setBorder(BorderFactory.createBevelBorder(0));
button[2].setBorder(BorderFactory.createBevelBorder(1, Color.red, Color.blue));
button[3].setBorder(BorderFactory.createBevelBorder(1, Color.green, Color.orange, Color.red, Color.blue));
button[4].setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
button[5].setBorder(BorderFactory.createEtchedBorder(0));
button[6].setBorder(BorderFactory.createTitledBorder("Titled Border"));
add(panel, BorderLayout.CENTER);
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new JButtonBordersTest();
}
}
実行結果
上記のコードを実行すると、7つのボタンが縦一列に並んで表示され、それぞれ異なるスタイルのボーダーが適用されていることが確認できます。青色のラインボーダー、立体的なベベルボーダー、余白を持つエンプティボーダー、彫り込み風のエッチドボーダー、そしてタイトル付きボーダーなど、用途に応じて使い分けることでUIの見栄えを大きく向上させることができます。

-
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も発生させることができます。このイベントは、選択状態という概念を持つコンポー