16. 内部フレームとデスクトップペイン
ユーザインタフェース 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」へのコンポーネントの追加の仕方は「JFrame」と同じです。インスタンスを作成したあと、「JDesktopPane」オブジェクトへ「add」メソッドで追加してください。「JDesktopPane」のデフォルトのレイアウトマネージャーは「null」ですので、追加された内部フレームが表示される場所を「reshape」メソッドで指定する必要があります。指定しなかった場合には表示されません。
また内部フレームを追加した後、最後に「setVisible」メソッドを呼び出すのを忘れないで下さい。このメソッドで表示状態にしなかった場合にも、内部フレームは表示されません。
(実習課題1)
以下のプログラムを作成しなさい。
- ウィンドウに含まれるコンポーネントはデスクトップペインとメニュー。
- メニューで指定すると、デスクトップペインに内部フレームが表示されるようにする事。
- 表示する内部フレームに上限は設けない。