2011年9月13日火曜日

複数フレーム

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

class NewFrame extends JFrame {

 public NewFrame(String string) {
  // TODO 自動生成されたコンストラクター・スタブ
  super(string);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  JPanel p1 = new JPanel();
  p1.setPreferredSize(new java.awt.Dimension(600, 270));
  Container contentPane = getContentPane();
  contentPane.add(p1, BorderLayout.NORTH);
  contentPane.add(new JLabel("Xボタンで子ウインドウも閉じる"));

  pack();

  System.out.println(Toolkit.getDefaultToolkit().getScreenSize());
  Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
  System.out.println(size.width);
  setLocation(size.width / 2, size.height / 2);
  setVisible(true);
 }
}

class NewFrame2 extends JFrame {

 public NewFrame2(String string) {
  // TODO 自動生成されたコンストラクター・スタブ
  super(string);
  setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  JPanel p1 = new JPanel();
  p1.setPreferredSize(new java.awt.Dimension(600, 270));
  Container contentPane = getContentPane();
  contentPane.add(p1, BorderLayout.NORTH);
  contentPane.add(new JLabel("Xボタンを押しても親ウインドウは閉じない"));

  pack();
  Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
  setLocation(size.width / 2 + 30, size.height / 2 + 30);
  setVisible(true);
 }
}

class NewFrame3 extends JFrame {

 public NewFrame3(String string) {
  // TODO 自動生成されたコンストラクター・スタブ
  super(string);
  setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  JPanel p1 = new JPanel();
  p1.setPreferredSize(new java.awt.Dimension(600, 270));
  Container contentPane = getContentPane();
  contentPane.add(p1, BorderLayout.NORTH);
  contentPane.add(new JLabel("Xボタンを押しても親ウインドウは閉じない"));

  pack();
  Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
  setLocation(size.width / 2 + 60, size.height / 2 + 60);
  setVisible(true);
 }
}

public class swingTestSlider {
 public static void main(String[] args) {
  new NewFrame("親フレーム");
  new NewFrame2("子ウインドウ");
  new NewFrame3("子ウインドウ2");
 }
}

setDefaultCloseOperation :JFrameで有効 ApplicationFrameでは使えない
EXIT_ON_CLOSE クローズボタンのクリック時にプログラムの実行を終了する
DISPOSE_ON_CLOSE  クローズボタンのクリック時に JFrame を破棄する
DO_NOTHING_ON_CLOSE クローズボタンをクリックしても何もしない
HIDE_ON_CLOSE クローズボタンのクリック時にウィンドウを隠す

Dimension getSize ( ) フレームの大きさを獲得します

0 件のコメント:

コメントを投稿