スライド 1

第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種を上手く配置できるよ
うにレイアウトマネージャーを使って表示せよ。
この時、チョイスを選んだ物をタイトルバーに表
示するようにし、チェックボックスにより、ラベル
が変化、さらにボタンによりウィンドウが終了す
るような動きもつけるプログラムにすること。