解答例 - 実習課題3 - 5.レイアウト・マネージャー2
(実習課題3)
以下のサンプルプログラムを作成しなさい。
- ウィンドウを表示する。
- ウィンドウに配置するコンポーネントは任意。ただし3つ以上、配置する事。
- レイアウト・マネージャーは「BoxLayout」を使用すること。縦方向・横方向のどちらに配置するかは任意。
解答例
package com.techscore.ui.chapter5.exercise3;
/**
* BoxLayoutFrame.java
* TECHSCORE Javaユーザインタフェース5章 実習課題3
*
* Copyright (c) 2004 Four-Dimensional Data, Inc.
*/
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
public class BoxLayoutFrame extends JFrame {
public BoxLayoutFrame() {
super("Box Layout");
setDefaultCloseOperation(EXIT_ON_CLOSE);
//BoxLayoutの作成
BoxLayout layout = new BoxLayout(getContentPane(), BoxLayout.Y_AXIS);
getContentPane().setLayout(layout);
Dimension size = new Dimension(100, 50);
//ラベルを4つ配置
JLabel first = new JLabel("first", SwingConstants.CENTER);
first.setForeground(Color.red);
first.setMaximumSize(size);
first.setMinimumSize(size);
first.setPreferredSize(size);
getContentPane().add(first);
JLabel second = new JLabel("second", SwingConstants.CENTER);
second.setForeground(Color.yellow);
second.setMaximumSize(size);
second.setMinimumSize(size);
second.setPreferredSize(size);
getContentPane().add(second);
JLabel third = new JLabel("third", SwingConstants.CENTER);
third.setForeground(Color.blue);
third.setMaximumSize(size);
third.setMinimumSize(size);
third.setPreferredSize(size);
getContentPane().add(third);
JLabel forth = new JLabel("forth", SwingConstants.CENTER);
forth.setForeground(Color.green);
forth.setMaximumSize(size);
forth.setMinimumSize(size);
forth.setPreferredSize(size);
getContentPane().add(forth);
pack();
}
public static void main(String args[]) {
new BoxLayoutFrame().setVisible(true);
}
}

