Javaプログラミング/Javaプログラミング関連情報

コンポーネントを使おう!(4ページ目)

今回は、実際にJFrameに主なコンポーネントを組み込んで使ってみましょう。

執筆者:掌田 津耶乃

トグルボタンを使う


ButtonGroupでは、ラジオボタン以外のものでも、ON/OFFして利用できるものなら何でも使えるといいましたが、実際、そうしたボタンは標準で用意されているのでしょうか。――実は、あります。その1つは「JToggleButton」というものです。

これは、普通のプッシュボタンの形をしたラジオボタンといってよいでしょう。見かけはJButtonと同じですが、働きはJRadioButtonとほぼ同じ、という不思議なものです。では、先ほどの例を、このJToggleButtonに置き換えてみましょう。

package jp.allabout.java;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class SampleApp extends JFrame {
  private static final long serialVersionUID = 1L;
  private JLabel label;
  private JToggleButton toggle1,toggle2;
  private ButtonGroup group;
  
  public SampleApp(){
    group = new ButtonGroup();
    this.setSize(new Dimension(300,200));
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setLayout(null);
    label = new JLabel("This is Sample.");
    label.setBounds(new Rectangle(20,20,200,20));
    label.setFont(new Font("Serif",Font.BOLD,24));
    this.add(label);
    toggle1 = new JToggleButton("toggle1");
    toggle1.setBounds(new Rectangle(20,50,200,20));
    toggle1.setActionCommand("toggle2 is Selected.");
    group.add(toggle1);
    this.add(toggle1);
    toggle1.addActionListener(new ActionListener(){

      @Override
      public void actionPerformed(ActionEvent e) {
        label.setText(group.getSelection().getActionCommand());
      }

    });
    toggle2 = new JToggleButton("toggle2");
    toggle2.setBounds(new Rectangle(20,75,200,20));
    toggle2.setActionCommand("toggle2を選択。");
    group.add(toggle2);
    this.add(toggle2);
    toggle2.addActionListener(new ActionListener(){

      @Override
      public void actionPerformed(ActionEvent e) {
        label.setText(group.getSelection().getActionCommand());
      }

    });
    group.setSelected(toggle1.getModel(), true);
  }
  
  public static void main(String[] args) {
    new SampleApp().setVisible(true);
  }
}

トグルボタンをButtonGroupに組み込むと、常に1つだけが選択されるようになる。


基本的な使い方はJRadioButtonと同じですから説明は不要でしょう。Swingでは、単にAWTのコンポーネントの置き換えだけでなく、AWTにはなかった新たなコンポーネントも多数用意されています。こうしたものを試してみるのもまた楽しいものですね。

さて、ここまで登場したコンポーネント類は、基本的には「AWTにあったものとほぼ同等の機能を持つもの」でした。が、コンポーネントの中には、AWTと同じように見えても、内部的にはるかに複雑になっているものがあります。それは、一覧リストを表示するためのコンポーネントです。次回は、これについて説明をしましょう。
【編集部おすすめの購入サイト】
楽天市場で Java 関連の書籍を見るAmazon で Java 関連の書籍を見る
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます