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

JFrameでウインドウを表示する(3ページ目)

今回から、JavaのGUIフレームワーク「Swing」の使い方を解説していきます。まずは、JFrameを使ってウインドウを表示する基本から説明しましょう。

執筆者:掌田 津耶乃

コンポーネントを組み込む


では、続いてコンポーネント類を組み込んでみましょう。もっとも基本的なコンポーネントとして、ラベル、入力フィールド、プッシュボタンをそれぞれ配置してみます。

package jp.allabout.java;

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

public class SampleApp extends JFrame {
  private static final long serialVersionUID = 1L;
  private JLabel label;
  private JTextField field;
  private JButton button;

  public SampleApp(){
    this.setSize(new Dimension(300,150));
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    label = new JLabel("This is Sample.");
    label.setFont(new Font("Serif",Font.BOLD,24));
    this.add(label,BorderLayout.NORTH);
    field = new JTextField();
    this.add(field,BorderLayout.CENTER);
    button = new JButton("click");
    this.add(button,BorderLayout.SOUTH);
  }
  
  public static void main(String[] args) {
    new SampleApp().setVisible(true);
  }
}

コンポーネントを組み込んだSwingのウインドウ。


ここで使っているのは、それぞれ「JLabel」「JTextField」「JButton」というコンポーネントです。既にAWTを使っていれば、基本的な使い方はほとんど変わらないことがわかるでしょう。それぞれnewでインスタンスを作成し、addでJFrameに組み込んでいますね。また、組み込む位置として、BorderLayout.NORTHというようにBorderLayoutのクラスフィールドを指定しています。ということは? JFrameにも標準でBorderLayoutが組み込まれているということですね。また、JLabelの表示フォントを設定するのに、Fontクラスのインスタンスを用意し、setFontしています。

これらのことからもわかるように、SwingでもAWTの多くの機能はそのまま引き継がれ使うことができます。実をいえば、Swingのコンポーネントは、AWTのコンポーネントを継承して作成されているのです。ですから、レイアウトマネージャや、フォントのためのFontクラス、あるいは色を指定するColorクラスなど、多くのクラスはAWTとまったく共通なのです。


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

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

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