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

JavaでJButtonにさまざまなボーダー(境界線)を適用する方法

JButtonAbstractButtonクラスのサブクラスであり、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でJButtonにさまざまなボーダー(境界線)を適用する方法

  1. JavaのBorderFactoryを使ってさまざまなボーダー(境界線)を実装する方法

    BorderFactoryは、Javaでさまざまな種類のボーダー(境界線)を生成するためのファクトリクラスです。このクラスを利用することで、Swingコンポーネントの外枠を簡単かつ柔軟にカスタマイズできます。ボーダーの種類BevelBorder:浮き上がった(RAISED)または沈み込んだ(LOWERED)斜めのエッジを描画します。ボタンなどに立体感を持たせたい場合に有効です。EmptyBorder:何も描画しませんが、余白としてスペースを確保します。コンポーネント間の間隔調整に役立ちます。EtchedBorder:LOWERED(沈み込み)タイプはくぼんだ矩形のような外観になり、RAISED

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

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