目次へ

16. 内部フレームとデスクトップペイン

16.1. javax.swing.JInternalFrame, javax.swing.JDesktopPane

「JInternalFrame」と「JDesktopPane」はJavaで、マルチドキュメントインタフェースを提供するコンポーネントです。「JDesktopPane」が仮想デスクトップコンポーネントで、「JInternalFrame」が内部フレームの役割を果たします。以下はデスクトップペインに内部フレームを1つ表示する簡単なプログラムです。

JDesktopPane desktopPane=new JDesktopPane();
getContentPane().add(desktopPane,BorderLayout.CENTER);
 
JInternalFrame internal=new JInternalFrame("internal");
desktopPane.add(internal);
internal.reshape(0,0,200,200);
internal.setVisible(true);
「JInternalFrame」イメージ

「JInternalFrame」へのコンポーネントの追加の仕方は「JFrame」と同じです。インスタンスを作成したあと、「JDesktopPane」オブジェクトへ「add」メソッドで追加してください。「JDesktopPane」のデフォルトのレイアウトマネージャーは「null」ですので、追加された内部フレームが表示される場所を「reshape」メソッドで指定する必要があります。指定しなかった場合には表示されません。

また内部フレームを追加した後、最後に「setVisible」メソッドを呼び出すのを忘れないで下さい。このメソッドで表示状態にしなかった場合にも、内部フレームは表示されません。

(実習課題1)

以下のプログラムを作成しなさい。

  • ウィンドウに含まれるコンポーネントはデスクトップペインとメニュー。
  • メニューで指定すると、デスクトップペインに内部フレームが表示されるようにする事。
  • 表示する内部フレームに上限は設けない。

解答例はこちら

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp