目次へ

解答例 - 実習課題2 - 5.レイアウト・マネージャー2

(実習課題2)

以下のウィンドウを表示するプログラムを作成しなさい。

  • ウィンドウ内のコンポーネントは「JButton」のみ。
  • レイアウトマネージャーは「GridBagLayout」。
  • (ヒント)「java.awt.Insets」クラスを使用する。コンストラクタの引数の値は全て5。
サンプルプログラム実行の図4-レイアウトマネージャ-

解答例

package com.techscore.ui.chapter5.exercise2;

/**
 * GridLayoutFrame.java
 * TECHSCORE Javaユーザインタフェース5章 実習課題2
 *
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 */

import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.JButton;
import javax.swing.JFrame;

public class GridBagLayoutFrame extends JFrame {

    public GridBagLayoutFrame() {
        super("GridBag Layout");
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        //GridBagLayoutの作成
        GridBagLayout layout = new GridBagLayout();
        getContentPane().setLayout(layout);

        GridBagConstraints c = new GridBagConstraints();
        c.insets = new Insets(5, 5, 5, 5);

        //ボタンを4つ配置

        JButton first = new JButton("first");
        first.setBackground(Color.red);
        c.gridwidth = 2;
        c.fill = GridBagConstraints.HORIZONTAL;
        layout.setConstraints(first, c);
        getContentPane().add(first);

        JButton second = new JButton("second");
        second.setBackground(Color.yellow);
        c.gridwidth = 1;
        c.gridy = 1;
        c.gridheight = 2;
        c.fill = GridBagConstraints.VERTICAL;
        layout.setConstraints(second, c);
        getContentPane().add(second);

        JButton third = new JButton("third");
        third.setBackground(Color.blue);
        c.gridheight = 1;
        c.gridx = 1;
        c.gridy = 1;
        layout.setConstraints(third, c);
        getContentPane().add(third);

        JButton forth = new JButton("fourth");
        forth.setBackground(Color.green);
        c.gridx = 1;
        c.gridy = 2;
        layout.setConstraints(forth, c);
        getContentPane().add(forth);

        pack();
    }

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

}

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp
  • シナジーマーケティング研究開発グループブログ