1.JFrame


ウィンドウを作成するためのクラス。

コンストラク

    • JFrame()
      • 不可視の新しい Frame を構築します。
    • JFrame(String)
      • 指定したタイトルで不可視の新しい Frame を構築します。

ウインドウクローズの際の動作を設定する

    • JFrameにはウインドウクローズ時の動作を指定する setDefaultCloseOperation(int) というメソッドが用意されていて、以下の4種類のモードを指定できる。
      • JFrame.DO_NOTHING_ON_CLOSE : 何も行わない
      • JFrame.HIDE_ON_CLOSE : ウインドウを隠す(デフォルト)
      • JFrame.DISPOSE_ON_CLOSE : ウインドウを破棄し終了する
      • JFrame.EXIT_ON_CLOSE : アプリケーションを終了する。
サンプル
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;

public class JFrameTest {

	public static void main(String[] args) {
		JFrame frame = new JFrame("タイトル");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		frame.setBounds(0, 0, 200, 100);
		frame.setVisible(true);
	}
}

実行結果

アイコン化する

    • ウインドウをアイコン化するには setState(int) メソッドによって行う。引数には以下の2種類が指定できる。
      • JFrame.NORMAL : 通常(デフォルト)
      • JFrame.ICONIFIED : アイコン化
サンプル
import javax.swing.JFrame;

public class JFrameTest {

	public static void main(String[] args) {

		JFrame frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		frame.setBounds(0, 0, 200, 100);
		frame.setState(JFrame.ICONIFIED);
		frame.setVisible(true);
	}
}

最大化する

    • ウインドウを最大化するには setExtendedState(int) メソッドによって行う。引数には以下の5種類が指定できる。
      • JFrame.NORMAL : 通常(デフォルト)
      • JFrame.MAXIMIZED_HORIZ : 垂直方向に最大化
      • JFrame.MAXIMIZED_VERT : 垂直方向に最大化
      • JFrame.MAXIMIZED_BOTH : 全画面表示
      • JFrame.ICONIFIED : アイコン化
サンプル
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

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

public class JFrameTest {

	private static JFrame frame;

	public static void main(String[] args) {

		frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		JButton normal = new JButton("通常");
		normal.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				frame.setExtendedState(JFrame.NORMAL);
			}
		});

		JButton hMax = new JButton("水平方向に最大化");
		hMax.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				frame.setExtendedState(JFrame.MAXIMIZED_HORIZ);
			}
		});

		JButton vMax = new JButton("垂直方向に最大化");
		vMax.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				frame.setExtendedState(JFrame.MAXIMIZED_VERT);
			}
		});

		JButton max = new JButton("最大化");
		max.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
			}
		});
		
		JButton icon = new JButton("アイコン化");
		icon.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				frame.setExtendedState(JFrame.ICONIFIED);
			}
		});

		JPanel panel = new JPanel();
		panel.add(normal);
		panel.add(hMax);
		panel.add(vMax);
		panel.add(max);
		panel.add(icon);

		frame.getContentPane().add(panel);
		frame.pack();
		frame.setVisible(true);
	}
}