第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 2026 ExpyDoc