12
第第第第 第 第 第 第第 15Java 第第第第第14~15 第第第 第第第第

第15回独習Javaゼミ

Embed Size (px)

DESCRIPTION

第15回独習Javaゼミ. セクション14~15 発表者 直江宗紀. 15.14 パネル. Panel(パネル) Container を拡張したクラス 他のコンポーネントを配置するためのベース ( 下地 ) レイアウトマネージャに関連付けされている パネルの入れ子 ( パネルの中にパネル ) が可能. コンポーネント類. パネル. ウィンドウ・フレーム. プログラム例(1). import java.applet.*; import java.awt.*; public class test1 extends Applet{ - PowerPoint PPT Presentation

Citation preview

Page 1: 第15回独習Javaゼミ

第15回独習Javaゼミ

セクション14~15発表者直江宗紀

Page 2: 第15回独習Javaゼミ

15.14 パネル

Panel(パネル) Containerを拡張したクラス 他のコンポーネントを配置するためのベース (下地 )

レイアウトマネージャに関連付けされている パネルの入れ子 (パネルの中にパネル )が可能

ウィンドウ・フレーム

パネルコンポーネント類

Page 3: 第15回独習Javaゼミ

プログラム例(1)import java.applet.*;import java.awt.*;public class test1 extends Applet{

public void init(){setLayout(new B

orderLayout()) ;Panel pn=new Pa

nel() ;Checkbox cb1=n

ew Checkbox("Red",true) ;pn.add(cb1) ;Checkbox cb2=n

ew Checkbox("Green",true) ;pn.add(cb2) ;Checkbox cb3=n

ew Checkbox("Blue",true) ;pn.add(cb3) ;

add(pn,BorderLayout.NORTH) ;Panel pc=new Panel() ;pc.setLayout(new GridL

ayout(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.SO

UTH) ;}

}

Page 4: 第15回独習Javaゼミ

プログラム例(1)について

プログラム中のポイント Panelクラス3つ使用 それぞれ、上から順に配置

チェックボックス、ボタン、ラベルのベースにPanelクラスが配置

アプレット自身もパネルを持つためプログラム中の add()メソッドなどがある。

Page 5: 第15回独習Javaゼミ

15.15 ウィンドウとフレーム Window(ウィンドウ )

Containerを拡張したクラス タイトル、メニューバーの無い別のウィンドウを提供

サブクラスに Frame,Dialogを持つ コンストラクタ

Window(Frame parent) parent:ウィンドウの所有者

Page 6: 第15回独習Javaゼミ

Windowクラスの主なメソッド

Windowクラスの主なメソッドについて

メソッド名 説明void addWindowListener

(WindowListener wl)

ウィンドウイベントの受け取り登録

void removeWindowListener (WindowListener wl)

ウィンドウイベントの受け取り登録解除

void pack() ウィンドウ内コンポーネントをレイアウト、初期サイズに設定する

void setVisible(Boolean b) ウィンドウの表示void dispose() ウィンドウ使用後のリソース破棄Window getWindow() ウィンドウの参照

Page 7: 第15回独習Javaゼミ

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はウィンドウのアイコン化及びアイコン化解除時のイベント

Page 8: 第15回独習Javaゼミ

Frameクラス

Frame(フレーム ) Windowクラスを拡張したクラス タイトルとメニューバーを提供 コンストラクタ

Frame() Frame(String title)

title:タイトルパーに表示される文字列 主なメソッド

String getTitle() void setTitle()

Page 9: 第15回独習Javaゼミ

プログラム例(2) -1-import 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() ;}

}

Page 10: 第15回独習Javaゼミ

プログラム例(2) -2-

public 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) ;

}}

Page 11: 第15回独習Javaゼミ

プログラム例(2)について

プログラム中のポイント 新しく作られたフレーム

(ウィンドウ )の中にもコンポーネントが置けること

“CreateFrame”を押すとウィンドウが新しく出来、” NewFrame’sButton”を押すとウィンドウが閉じる

他のコンポーネントと組み合わせると複雑な動作も可能

Page 12: 第15回独習Javaゼミ

演習問題

1. フレームを用いて作られた新しいウィンドウにパネルを利用して、ボタン、ラベル、チェックボックス、チョイスの4種を上手く配置できるようにレイアウトマネージャーを使って表示せよ。この時、チョイスを選んだ物をタイトルバーに表示するようにし、チェックボックスにより、ラベルが変化、さらにボタンによりウィンドウが終了するような動きもつけるプログラムにすること。