目次へ

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

(実習課題3)

「FlowLayout」には引数を取らないコンストラクタの他に、引数を1つ取るものと3つ取るものの2つがあります。それぞれのコンストラクタを使用した場合に、コンポーネントの配置がどのように変わるか調べなさい。

またウィンドウのサイズを変えたときに、コンポーネントの配置がどのように変わるか調べなさい。

解答例

package com.techscore.ui.chapter4.exercise3;

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

import java.awt.Color;
import java.awt.FlowLayout;

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

public class VariousFlowLayoutFrame extends JFrame {

    public VariousFlowLayoutFrame(String label, FlowLayout layout) {
        super(label);
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        getContentPane().setLayout(layout);

        JButton first = new JButton("first");
        first.setBackground(Color.red);
        getContentPane().add(first);

        JButton second = new JButton("second");
        second.setBackground(Color.yellow);
        getContentPane().add(second);

        JButton third = new JButton("third");
        third.setBackground(Color.blue);
        getContentPane().add(third);

        pack();
    }

    public static void main(String args[]) {
        //引数なし
        new VariousFlowLayoutFrame("Frow Layout", new FlowLayout()).setVisible(true);
        //引数1つのコンストラクタ
        //ウィンドウを拡大した場合、コンポーネントが左詰めになる。
        new VariousFlowLayoutFrame("Frow Layout(LEFT)", new FlowLayout(FlowLayout.LEFT)).setVisible(true);
        //ウィンドウを拡大した場合、コンポーネントが中央に揃えられる。
        new VariousFlowLayoutFrame("Frow Layout(CENTER)", new FlowLayout(FlowLayout.CENTER)).setVisible(true);
        //ウィンドウを拡大した場合、コンポーネントが右詰めになる。
        new VariousFlowLayoutFrame("Frow Layout(RIGHT)", new FlowLayout(FlowLayout.RIGHT)).setVisible(true);
        //引数3つのコンストラクタ
        //2番目の引数にはコンポーネントの水平間隔、3番目の引数には垂直間隔が指定できます。
        new VariousFlowLayoutFrame("Frow Layout(CENTER,100,50)", new FlowLayout(FlowLayout.CENTER, 100, 50)).setVisible(true);
    }

}

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp