解答例 - 実習課題2 - 5.レイアウト・マネージャー2
(実習課題2)
以下のウィンドウを表示するプログラムを作成しなさい。
- ウィンドウ内のコンポーネントは「JButton」のみ。
- レイアウトマネージャーは「GridBagLayout」。
- (ヒント)「java.awt.Insets」クラスを使用する。コンストラクタの引数の値は全て5。
解答例
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); } }