ラジオボタンのサイズをピクセル単位で設定する

ラジオボタンのサイズは、ラジオボタンに表示される文字列や画像の大きさにあらかじめ決まりますが、ピクセル単位でサイズを指定することもできます。ここではラジオボタンにピクセル単位でサイズを設定する方法について解説します。

(2022 年 04 月 11 日公開 / 2022 年 04 月 11 日更新)

ピクセル単位でサイズを設定する

ラジオボタンのサイズをピクセル単位で設定するには JRadioButton クラスの親クラスである JComponent クラスで用意されている setPreferredSize メソッドを使います。

public void setPreferredSize(Dimension preferredSize)

このコンポーネントの適切なサイズを設定します。 preferredSizeがnullの場合、UIで適切なサイズを要求します。

オーバーライド:
setPreferredSize 、クラス: Component

パラメータ:
preferredSize - 新しい推奨サイズ、またはnull

引数にはサイズを表す Dimension クラスのオブジェクトを指定します。( Dimension クラスの詳細は「Dimensionクラス」を参照して下さい)。

実際の使い方は次のようになります。

JRadioButton radio = new JRadioButton("Movie");
radio.setPreferredSize(new Dimension(200, 100));

コンポーネントでサイズを設定する場合、使用しているレイアウトマネージャーによってはコンポーネントに設定したサイズは無視される場合がありますのでご注意ください。例えばレイアウトマネージャーとして BorderLayout を使用している場合はコンポーネントに設定されたサイズは無視されます。

なおサイズを指定することによってラジオボタンに設定した文字列を全て表示できなくなる場合があります。その場合は文字列が"..."などのように置き換えられて表示されます。

サンプルプログラム

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample7_1.java という名前で保存します。

import javax.swing.JFrame;
import javax.swing.JRadioButton;
import javax.swing.JPanel;
import javax.swing.ButtonGroup;
import java.awt.Container;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Color;

class JSample7_1 extends JFrame{

  public static void main(String args[]){
    JSample7_1 frame = new JSample7_1("MyTitle");
    frame.setVisible(true);
  }

  JSample7_1(String title){
    setTitle(title);
    setBounds(100, 100, 600, 400);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JRadioButton radio1 = new JRadioButton("Apple");

    JRadioButton radio2 = new JRadioButton("Orange");
    radio2.setPreferredSize(new Dimension(200, 100));
    radio2.setBackground(Color.ORANGE);

    JRadioButton radio3 = new JRadioButton("Peach");
    radio3.setPreferredSize(new Dimension(60, 30));
    radio3.setBackground(Color.PINK);

    ButtonGroup bgroup = new ButtonGroup();
    bgroup.add(radio1);
    bgroup.add(radio2);
    bgroup.add(radio3);

    JPanel p = new JPanel();
    p.add(radio1);
    p.add(radio2);
    p.add(radio3);

    Container contentPane = getContentPane();
    contentPane.add(p, BorderLayout.CENTER);
  }
}

次のようにコンパイルを行います。

javac JSample7_1.java

ピクセル単位でサイズを設定する(1)

コンパイルが終わりましたら実行します。

java JSample7_1

ラジオボタンを 3 つ追加しました。 2 つ目と 3 つ目のラジオボタンにはピクセル単位でサイズを指定しています。またサイズが分かりやすいように背景色も設定しています。

ピクセル単位でサイズを設定する(2)

3 つ目のラジオボタンはピクセル単位でのサイズ指定によってラジオボタンに設定されている文字列が表示しきれなくなっています。その為、表示できない部分は "..." と表示されています。

-- --

ラジオボタンにピクセル単位でサイズを設定する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。