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

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

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

執筆者:掌田 津耶乃

チェックボックスのJCheckBox


では、その他のコンポーネントについても使い方を整理していきましょう。まず、チェックボックスからです。Swingでは、「JCheckBox」というクラスとして用意されています。これも、基本的にはAWTのCheckboxとほぼ同じです。

package jp.allabout.java;

import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;

public class SampleApp extends JFrame {
  private static final long serialVersionUID = 1L;
  private JLabel label;
  private JCheckBox check;
  
  public SampleApp(){
    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);
    check = new JCheckBox("CheckBox");
    check.setBounds(new Rectangle(20,50,200,20));
    this.add(check);
    check.addChangeListener(new ChangeListener(){

      @Override
      public void stateChanged(ChangeEvent e) {
        label.setText(Boolean.toString(check.isSelected()));
      }

    });
  }
  
  public static void main(String[] args) {
    new SampleApp().setVisible(true);
  }
}

チェックボックスをクリックするとチェックの状態が表示される。


ここではチェックボックスを1つ組み込み、チェックをON/OFFするとチェックの状態を表示するようにしてみました。チェックの状態は、JCheckBoxのisSelectedで得ることができます。ここで得られたboolean値を、Boolean.toStringでテキストに変換してlabel.setTextしています。

ここで注意しておきたいのは、組み込んでいるChangeListenerです。AWTのCheckboxクラスでは、操作した際のイベントはjava.awt.eventパッケージのItemListenerというものが用いられていました。が、JCheckBoxでは、javax.swing.eventパッケージに新たに用意されたChangeListenerを使っているのです。コンポーネントそのものは似たようなものなのですが、このように部分的に「Swingから用意された新しい機能」を使うようになっていることがあるのです。

Swingから新たに用意されたイベント関係のクラスは、javax.swing.eventパッケージにまとめられていますので、一度、Javadocのリファレンスなどでこのパッケージにどんなものが用意されているか見ておくとよいでしょう。


  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

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