デスクトップペインにインターナルフレームを追加する

広告

デスクトップペインにインターナルフレームを追加する方法を確認します。JDesktopPaneクラスの親クラスであるContainerクラスで用意されている「add」メソッドを使います。

指定されたコンポーネントをこのコンテナの最後に追加します。これは 
addImpl(java.awt.Component, java.lang.Object, int) の簡易メソッドです。

パラメータ:
  comp - 追加されるコンポーネント 
戻り値:
  コンポーネント引数 
例外: 
  NullPointerException - comp が null の場合

引数に追加したいJInternalFrameクラスのオブジェクトを指定します。

実際の使い方は次のようになります。

JDesktopPane desktop = new JDesktopPane();

JInternalFrame iframe = new JInternalFrame();
iframe.setSize(150, 100);
iframe.setLocation(10, 10);
iframe.setVisible(true);
desktop.add(iframe);

サンプルプログラム

では簡単なサンプルを作成して試してみます。

JDesktopPaneTest3.java

import javax.swing.*;
import java.awt.BorderLayout;

public class JDesktopPaneTest3 extends JFrame{

  public static void main(String[] args){
    JDesktopPaneTest3 frame = new JDesktopPaneTest3();

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBounds(10, 10, 300, 200);
    frame.setTitle("タイトル");
    frame.setVisible(true);
  }

  JDesktopPaneTest3(){
    JDesktopPane desktop = new JDesktopPane();

    JInternalFrame iframe1 = new JInternalFrame();
    iframe1.setSize(150, 100);
    iframe1.setLocation(10, 10);
    iframe1.setVisible(true);

    JInternalFrame iframe2 = new JInternalFrame();
    iframe2.setSize(150, 100);
    iframe2.setLocation(30, 30);
    iframe2.setVisible(true);

    desktop.add(iframe1);
    desktop.add(iframe2);

    getContentPane().add(desktop, BorderLayout.CENTER);
  }
}

上記をコンパイルした後で実行すると次のように表示されます。

デスクトップペインにインターナルフレームを追加する

インターナルフレームのサイズや位置、そしてデスクトップに追加する方法は次のページ以降で確認していきます。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)