第15回独習Javaゼミ セクション14~15 発表者 直江宗紀 15.14 パネル Panel(パネル) Containerを拡張したクラス 他のコンポーネントを配置するためのベース(下地) レイアウトマネージャに関連付けされている パネルの入れ子(パネルの中にパネル)が可能 コンポーネント類 パネル ウィンドウ・フレーム プログラム例(1) import java.applet.*; import java.awt.*; public class test1 extends Applet{ public void init(){ setLayout(new BorderLayout()) ; Panel pn=new Panel() ; Checkbox cb1=new Checkbox("Red",true) ; pn.add(cb1) ; Checkbox cb2=new Checkbox("Green",true) ; pn.add(cb2) ; Checkbox cb3=new Checkbox("Blue",true) ; pn.add(cb3) ; add(pn,BorderLayout.NORTH) ; Panel pc=new Panel() ; pc.setLayout(new GridLayout(3,2)) ; for(int i=0;i<6;i++) pc.add(new Button("Button"+i)) ; add(pc,BorderLayout.CENTER) ; Panel ps=new Panel() ; Label label=new Label("This is the South Panel") ; ps.add(label) ; add(ps,BorderLayout.SOUTH) ; } } プログラム例(1)について プログラム中のポイント Panelクラス3つ使用 それぞれ、上から順に配置 チェックボックス、ボタン、ラ ベルのベースにPanelクラ スが配置 アプレット自身もパネルを 持つためプログラム中の add()メソッドなどがある。 15.15 ウィンドウとフレーム Window(ウィンドウ) Containerを拡張したクラス タイトル、メニューバーの無い別のウィンドウを提供 サブクラスにFrame,Dialogを持つ コンストラクタ Window(Frame parent) parent:ウィンドウの所有者 Windowクラスの主なメソッド Windowクラスの主なメソッドについて メソッド名 説明 void addWindowListener (WindowListener wl) ウィンドウイベントの受け取り登録 void removeWindowListener (WindowListener wl) ウィンドウイベントの受け取り登録解除 void pack() ウィンドウ内コンポーネントをレイアウト、初期サイ ズに設定する void setVisible(Boolean b) ウィンドウの表示 void dispose() ウィンドウ使用後のリソース破棄 Window getWindow() ウィンドウの参照 WindowListenerインターフェース インターフェースに定義されたメソッド(7種) void windowActivated(WindowEvent we) void windowClosed(WindowEvent we) void windowDeactivated(WindowEvent we) void windowClosing(WindowEvent we) void windowDeiconified(WindowEvent we) void windowOpened(WindowEvent we) Deactivated,Deiconifiedはウィンドウのアイコン化及びアイ コン化解除時のイベント Frameクラス Frame(フレーム) Windowクラスを拡張したクラス タイトルとメニューバーを提供 コンストラクタ Frame() Frame(String title) title:タイトルパーに表示される文字列 主なメソッド String getTitle() void setTitle() プログラム例(2)-1import java.applet.*; import java.awt.*; import java.awt.event.*; class Frame2 extends Frame implements ActionListener{ Frame2(String title){ super(title) ; addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ dispose() ; } }) ; Button b=new Button("New Frame'sButton") ; b.addActionListener(this) ; add(b) ; } public void actionPerformed(ActionEvent ae){ dispose() ; } } プログラム例(2)-2public class test2 extends Applet implements ActionListener{ public void init(){ Button b=new Button("Create Frame") ; b.addActionListener(this) ; add(b) ; } public void actionPerformed(ActionEvent ae){ Frame2 f2=new Frame2("Frame2") ; f2.setSize(200,200) ; f2.setVisible(true) ; } } プログラム例(2)について プログラム中のポイント 新しく作られたフレーム (ウィンドウ)の中にもコン ポーネントが置けること “CreateFrame”を押すと ウィンドウが新しく出 来、”NewFrame’sButton” を押すとウィンドウが閉じる 他のコンポーネントと組み 合わせると複雑な動作も可 能 演習問題 1. フレームを用いて作られた新しいウィンドウに パネルを利用して、ボタン、ラベル、チェック ボックス、チョイスの4種を上手く配置できるよ うにレイアウトマネージャーを使って表示せよ。 この時、チョイスを選んだ物をタイトルバーに表 示するようにし、チェックボックスにより、ラベル が変化、さらにボタンによりウィンドウが終了す るような動きもつけるプログラムにすること。
© Copyright 2024 ExpyDoc