Microsoft PowerPoint - prog11.ppt

Similar documents
Microsoft PowerPoint - prog11.ppt

Microsoft PowerPoint - prog12.ppt

Java言語 第1回


Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

Java言語 第1回

Microsoft PowerPoint - prog10.ppt

Microsoft PowerPoint - prog13.ppt

PowerPoint Presentation

ガイダンス

Microsoft PowerPoint - OOP.pptx

ガイダンス

Microsoft PowerPoint - prog13.ppt

Microsoft PowerPoint - prog10.ppt

Local variable x y i paint public class Sample extends Applet { public void paint( Graphics gc ) { int x, y;... int i=10 ; while ( i < 100 ) {... i +=

Java言語 第1回

< F2D B825082CC96E291E82E6A7464>

< F2D B838A835882CC8CF68EAE2E6A7464>

< F2D F B834E2E6A7464>

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

< F2D834F838C A815B A CC>

< F2D E E6A7464>

HCI プログラミング 8 回目ボタン チェックボックス ラジオボタン 今日の講義で学ぶ内容 ボタンとアクションイベント ボタンのカスタマイズ チェックボックスとラジオボタン ボタンとアクションイベント 1 ボタンを配置してみましょう ボタンは ラベルと同じようにフォントやその色 画像の貼り付けなど

Microsoft PowerPoint - prog03.ppt

ガイダンス

< F2D82518CC282CC D2E6A7464>

< F2D825282CC947B909482CC A815B83682E6A>

Microsoft PowerPoint prog1_doc2x.pptx

Microsoft PowerPoint - prog04.ppt


Assignment_.java /////////////////////////////////////////////////////////////////////// // 課題 星の画像がマウスカーソルを追従するコードを作成しなさい 次 ///////////////////

< F2D89BA8EE882C E6A7464>

Safari AppletViewer Web HTML Netscape Web Web 15-1 Applet Web Applet init Web paint Web start Web HTML stop destroy update init Web paint start Web up

< F2D A838B838D96402E6A7464>

< F2D8EA CE909482CC92EA82852E6A7464>

< F2D82B682E182F182AF82F12E6A7464>

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464>

< F2D A839382CC906A2E6A7464>

Java言語 第1回

HCI プログラミング 10 回目テキストフィールドとキーイベント 今日の講義で学ぶ内容 テキストフィールドの利用 キーイベントの処理 テキストフィールドの利用 1 テキストフィールドを配置してみましょう テキストフィールドを用いることにより 数値や文字列などのデータ入力が可能になります ソースファ

Microsoft PowerPoint - prog08.ppt

PowerPoint プレゼンテーション

GUIプログラムⅣ

Microsoft Word - Java3.DOC

< F2D92DE82E8914B82CC977088D32E6A7464>

awt の主要なクラスを下記に示す クラス Component Container Button Label Panel Frame 説明画面にユーザインターフェイス要素として表示し, ユーザとのやり取りを行うコンポーネントを表すすべてのコンポーネントのスーパークラスになる ほかのコンポーネントを含

Microsoft PowerPoint - prog08.ppt

PowerPoint プレゼンテーション

r4.dvi

PowerPoint プレゼンテーション

Microsoft PowerPoint prog1_doc2.pptx

Microsoft PowerPoint ppt

PowerPoint プレゼンテーション

JAVA入門

Microsoft PowerPoint - OOP.pptx

Java 2 - Lesson01

GUIプログラムⅡ

表示の更新もそういた作業のひとつに当たる スレッドの使用アニメーション アニメーションやシミュレーションなどは画面の更新が一定のタイミングで行われていく この連続した画面の更新をスレッドを利用して行う しかし paint() メソッドを直接呼び出して表示を更新することはできない その理由

Javaプログラムの実行手順

KeyListener init addkeylistener addactionlistener addkeylistener addkeylistener( this ); this.addkeylistener( this ); KeyListener public void keytyped

教材ドットコムオリジナル教材 0から始めるiアプリ (4) 0 から始める i アプリ (4) i アプリをプログラミングする際に必要なのは Java というプログラミング言語の基礎知識です 独自の命令や駆使してプログラミングをするわけですが Java というベースになっている言語を知らないでプログ

IE6 2 BMI chapter1 Java 6 chapter2 Java 7 chapter3 for if 8 chapter4 : BMI 9 chapter5 Java GUI 10 chapter6 11 chapter7 BMI 12 chap

text_13.dvi

Java演習(6) -- 条件分岐 --

GUIプログラムⅤ

Prog2_11th

I 4 p.2 4 GUI java.awt.event.* import /* 1 */ import mouseclicked MouseListener implement /* 2 */ init addmouselistener(this) this /* 3 */ this mousec

Prog2_9th


次の演習課題(1),(2)のプログラムを完成させよ

Microsoft PowerPoint ppt

ÿþ˜u#u·0¹0Æ0à0

ガイダンス

<4D F736F F F696E74202D AC C8899E D834F E >

AWT setcolor, drawstring Java AWT Abstract Window Toolkit Graphics AWT import import java.awt.* ; // AWT Graphics import java.awt.graphics; // AWT Gra

AWT setcolor, drawstring Java AWT Abstract Window Toolkit Graphics AWT import import java.awt.* ; // AWT Graphics import java.awt.graphics; // AWT Gra

2

Prog1_12th

Object MenuComponent MenuBar MenuItem Menu CheckboxMenuItem

GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ

問1

ガイダンス

Prog2_12th

アプレットの作成

< F2D BCA82CC978E89BA82CC8EC08CB12E6A7464>


アジェンダ 1 グラフィカルなインタフェース GUI(Graphical User Interface) の基礎 2 Swing を利用する Swing の基礎知識 2

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料

ToDo: 今回のタイトル

ソフトウェア開発方法論2

Prog1_12th

Prog2_15th

第1章 ビジュアルプログラミング入門

プログラミング基礎I(再)

PowerPoint プレゼンテーション

Microsoft PowerPoint - prog08.ppt

19 3!! (+) (>) (++) (+=) for while 3.1!! (20, 20) (1)(Blocks1.java) import javax.swing.japplet; import java.awt.graphics;

I. (i) Foo public (A). javac Foo.java java Foo.class (C). javac Foo java Foo (ii)? (B). javac Foo.java java Foo (D). javac Foo java Foo.class (A). Jav

Transcription:

プログラミング言語 3 第 11 回 (2007 年 12 月 10 日 ) 1

今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57

今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 12 月 10 日分と書いてある部分が 本日の教材です 本日の内容 前回の課題の解答 Java アプレットその 2 AWT 3/57

最終レポートについて 4/57

課題について 最終レポートの課題を 今週の木曜日夜までに web にアップします 〆切は最後の授業 (2008 年 1 月 7 日 ) です 最後の授業では レポートと関係ない話をやります ( たぶん 入出力関係とスレッド ) レポートは 紙に印刷したものをレポートボックスに メールで s-okubo@ice.uec.ac.jp に 提出して貰います 5/57

前回の課題の解答 6/57

前回の課題 その 1: 次の仕様を満たす Java アプレット Sample10t.java を作り 提出しなさい html ファイルが無くともアプレットビューアで実行できること 実行すると 200x400 の画面が立ち上がる 200x400 の画面の 上半分の左半分をクリックすると 下半分に白い背景に黒く Hello World と表示される 上半分の右半分をクリックすると 下半分に黒い背景に黄色い円と白い四角が表示される 7/57

プログラムの設計方針 flag という整数型の変数を宣言 クリックしたときに実行される mousepressed では... クリックされた場所によって 0 か 1 の どちらかの値を flag に保存する その後 repaint を実行する 結果 paint も実行される paint では... flag の値に従って 下に描画を行う 同じ事ができれば 他の方法でも構いません 8/57

サンプルプログラム [1/4] import java.applet.applet; import java.awt awt.*;.*; import java.awt awt.event.*; /* /* */ */ 必要なパッケージを import 200x400 のサイズ <applet code="javaapplet10t.class" width=200 height=400> </applet> public class JavaApplet10t extends Applet implements MouseListener{ int intx=10,y=10; int int flag=0; flagを宣言マウスを使うので public void void init(){ MounseListenerを実装 addmouselistener(this); マウス関係のイベントを検知するように 9/57

サンプルプログラム [2/4] public void void paint(graphics g){ g){ if(flag==0){ g.setcolor setcolor(color.white); g.fillrect fillrect(0,200,200,400); g.setcolor setcolor(color.black); g.drawstring drawstring("hello World",30,240); else if(flag==1){ g.setcolor setcolor(color.black); g.fillrect fillrect(0,200,200,400); g.setcolor setcolor(color.yellow); g.drawarc drawarc(20,220,160,160,0,360); g.setcolor setcolor(color.white); g.drawrect drawrect(20,220,160,160); 下半分を白く塗り Hellow World を表示 下半分を黒く塗り 四角と円を表示 flag の値に従って 描画を行う 10/57

サンプルプログラム [3/4] public void voidmousepressed(mouseevent me){ me){ x=me.getx getx(); (); y=me.gety gety(); (); if((y>=0)&&(y<=200)){ if((x>=0)&&(x<100)){ flag=0; else if((x>=100)&&(x<200)){ flag=1; repaint(); クリックした場所が下半分か否かを判定 クリックした場所が右側か左側かを判定 クリック時のマウスの座標を保存クリックした 場所に応じた値に flag を設定 クリックした場所に応じた値に flag を設定 11/57

サンプルプログラム [4/4] public void voidmouseentered(mouseevent me){ me){ 残りの4つのメソッドをオーバーライド public void voidmouseexited(mouseevent me){ me){ public void voidmousereleased(mouseevent me){ me){ public void voidmouseclicked(mouseevent me){ me){ 12/57

AWT 13/57

Java とアプレット Java には GUI を作るのに便利なクラスファイルやインターフェイスが準備されています GUI に使用されるボタンやダイアログは すべてインスタンス ( オブジェクト ) として扱われます AWT と Swing があります AWT は Java に古くからあるものです あまり効率よく動いてはくれません Swing は AWT の欠点とかを改善するべく作られたものです 今回は AWT を 次回は Swing をやります 14/57

基本的な流れ 次のような手順を踏みます 1. 適切なインターフェースを実装する 2. 適切なインスタンスを宣言する 3. インスタンスを登録する 4. インスタンスに何らかのアクションが行われたときに ある動作を行いたいなら 1. Javaがそのアクションを関知するようにする ( リスナ登録する ) 2. そのアクションが行われたときに 何をするかを記述する 15/57

用意されているもの 次のようなものが利用できます ラベル ボタン テキストフィールド チェックボックス チェックボックスグループ ( ラジオボタン ) キャンバス リスト チョイス 16/57

ラベルその 1 ラベルとは... 文字列を画面に表示します インターフェース なし リスナ登録 なし クラス Label 17/57

ラベルその 2 インスタンス生成時に 文字列を指定します Label インスタンス名 = new Label(" 文字列 "); この文字列の長さが このインスタンスが持てる文字列の最大の長さになります クラス Label のメソッド settext(string ss) gettext() そのインスタンスに文字列 ss を設定します そのインスタンスの持っている文字列を返します 18/57

サンプルプログラム import java.applet.applet; import java.awt.*; import java.awt.event.*; /* /* <applet code="sample11a.class" width=200 height=400> </applet> */ */ public class Sample11a extends Applet{ インスタンスを生成 Label lb1 lb1 = new new Label("Sample11a"); String ss; ss; public void void init(){ インスタンスを登録 add(lb1); lb1.settext settext("test"); ss ss = lb1.gettext gettext(); メソッドは 普通に (); add(lb1); インスタンス名. メソッド名 で使用 19/57

ボタンその 1 ボタンとは... 押すことができるボタンを作ります インターフェース ActionListener クラス Button リスナ登録 addactionlistener( インスタンス名 ); 押されたときに呼び出されるメソッド actionperformed(actionevent e) 20/57

ボタンその 2 インスタンス生成時に 文字列を指定します Button インスタンス名 = new Button(" 表示する文字列 "); ボタンが押されたことを Java が検知するに次が必要 インスタンス名.addActionListener(this); ボタンが押されると actionperformed が実行されます 複数のボタンのインスタンスがあっても actionperformed は 1 つだけです どのボタンが押されたかは ActionEvent のオブジェクトのメソッド getsource() で知ることができます 21/57

サンプルプログラム [1/2] import java.applet.applet; import java.awt.*; import java.awt.event.*; /* /* <applet code="sample11b.class" width=200 height=400></applet> */ */ インターフェイス ActionListener を実装 public class Sample11b extends Applet implements ActionListener{ Button bt1 bt1 = new new Button("Button 1"); 1"); Button bt2 bt2 = new new Button("Button 2"); 2"); Label lb1 lb1 = new new Label("Sample11b"); インスタンスを生成 public void void init(){ bt1.addactionlistener addactionlistener(this); ボタンが押されたことを bt2.addactionlistener addactionlistener(this); 検知するようにする add(bt1); add(bt2); add(lb1); インスタンスを登録 22/57

サンプルプログラム [2/2] public void void actionperformed(actionevent e){ e){ if(e.getsource getsource() () == == bt1){ lb1.settext("bottun 01"); else if(e.getsource getsource() () == == bt2){ lb1.settext("bottun 02"); どのボタンが押されたかで条件分岐 ボタンが押されたときに行うことを書く 23/57

テキストフィールドその 1 テキストフィールドとは... テキストを入力できる場所です インターフェース ActionListener クラス TextField リスナ登録 addactionlistener( インスタンス名 ); リターンが押されたときに呼び出されるメソッド actionperformed(actionevent e) 24/57

テキストフィールドその 2 インスタンス生成時は次のようにします TextField インスタンス名 = new TextField(" 文字列 "); この場合 文字列の長さ文のサイズで表示されます また 文字列が最初に入った状態になります TextField インスタンス名 = new TextField( 値 ); ); この場合 値のサイズで表示されます TextField インスタンス名 = new TextField(" 文字列 ", ", 値 ); ); この場合 値のサイズで表示されます また 文字列が最初に入った状態になります 25/57

テキストフィールドその 3 ボタンが押されたことを Java が検知するに次が必要 インスタンス名.addActionListener(this); テキストフィールド内でリターンキーが押されると actionperformed が実行されます 複数のインスタンスがあっても actionperformed は 1 つだけです どのテキストフィールド内でリターンキーが押されたかは ActionEvent のオブジェクトのメソッド getsource() で知ることができます 26/57

テキストフィールドその 4 クラス TextField のメソッド settext(string ss) gettext() そのインスタンスに文字列 ss を設定します そのインスタンスの持っている文字列を返します 27/57

サンプルプログラム [1/2] import java.applet.applet; import java.awt.*; import java.awt.event.*; /* /* <applet code="sample11c.class" width=200 height=200></applet> */ */ インターフェイス ActionListener を実装 public class Sample11c extends Applet implements ActionListener{ TextField tf1 tf1 = new new TextField(" ("TextField TextField",20); Label lb1 lb1 = new new Label("Sample11c"); public void void init(){ インスタンスを生成 tf1.addactionlistener addactionlistener(this); add(tf1); テキストフィールド内で add(lb1); リターンが押された ことを検知するように インスタンスを登録 28/57

サンプルプログラム [2/2] public void void actionperformed(actionevent e){ e){ if(e.getsource getsource() () == == tf1){ lb1.settext(tf1. tf1.gettext gettext() ()); ()); tf1.settext settext("input here"); どのテキストフィールドでリターンが押されたかで条件分岐 テキストフィールド内でリターンが押されたときに行うことを書く 29/57

チェックボックスその 1 チェックボックスとは... 四角いボックスにチェックを入れるやつです インターフェース ItemListener クラス Checkbox リスナ登録 additemlistener( インスタンス名 ); リターンが押されたときに呼び出されるメソッド itemstatechanged(itemevent e) 30/57

チェックボックスその 2 インスタンス生成時は次のようにします Checkbox インスタンス名 = new Checkbox(" 文字列 "); チェックボックスが沢山必要なときは その数だけ インスタンスを生成することになります 31/57

チェックボックスその 3 チェックボックスの状態が変わったことを Java が検知するには 次のリスナ登録が必要です インスタンス名.addItemListener(this); チェックボックスがクリックされると itemstatechanged が実行されます 複数のインスタンスがあっても itemstatechanged は1つだけです どのボタンが押されたかは ItemEvent のオブジェクトのメソッド getsource() で知ることができます 32/57

チェックボックスその 4 クラス Checkbox のメソッド setstate(boolean) そのインスタンスの持つ状態を設定します 引数として true か false を渡します gettext() そのインスタンスの状態を返します チェックが入っていれば true を 無ければ false を返します 33/57

サンプルプログラム [1/2] import java.applet.applet; import java.awt.*; import java.awt.event.*; /* /* <applet code="sample11d.class" width=200 height=200></applet> */ */ インターフェイス ItemListener を実装 public class Sample11d extends Applet implements ItemListener{ Checkbox cb1 cb1 = new new Checkbox("Check Box Box 01"); Checkbox cb2 cb2 = new new Checkbox("Check Box Box 02"); Label lb1 lb1 = new new Label("Sample11d"); インスタンスを生成 public void void init(){ cb1.additemlistener additemlistener(this); チェックボックスの cb2.additemlistener additemlistener(this); 状態の変更を検知 add(cb1); するように add(cb2); add(lb1); インスタンスを登録 34/57

サンプルプログラム [2/2] public void void itemstatechanged(itemevent e){ e){ lb1.settext(cb1. cb1.getstate getstate() () + "-" "-" + cb2.getstate getstate() ()); ()); チェックボックスの状態が変わったときに行うことを書く 35/57

チェックボックスグループその 1 チェックボックスグループとは... どれか 1 つにのみチェックできるチェックボックスです インターフェース ItemListener クラス CheckboxGroup リスナ登録 additemlistener( インスタンス名 ); リターンが押されたときに呼び出されるメソッド itemstatechanged(itemevent e) 36/57

チェックボックスグループその 2 インスタンス生成時は次のようにします CheckboxGroup インスタンス名 = new CheckboxGroup(); チェックボックスグループは 複数のチェックボックスをグループに登録することにより作成します チェックボックスのインスタンス生成時に どのチェックボックスグループに属するのかを宣言します Checkbox インスタンス名 = new Checkbox(" 文字列 ", ", 初期状態, グループ名 ); ); 初期状態には true か false を指定します true な状態はグループ内に 1 つだけ許されます 37/57

チェックボックスグループその 3 チェックボックスグループはリスナ登録しません 代わりに チェックボックスをリスナ登録しておきます チェックボックスがクリックされると itemstatechanged が実行されます 複数のインスタンスがあっても itemstatechanged は 1 つだけです 38/57

サンプルプログラム [1/2] import java.applet.applet; import java.awt.*; import java.awt.event.*; /* /* <applet code="sample11e.class" width=200 height=200></applet> */ */ インターフェイス ItemListener を実装 public class Sample11e extends Applet implements ItemListener{ CheckboxGroup cbg1 cbg1 = new new CheckboxGroup(); Checkbox cb1 cb1 = new new Checkbox("Check Box Box 01",true,cbg1); Checkbox cb2 cb2 = new new Checkbox("Check Box Box 02",false,cbg1); Label lb1 lb1 = new new Label("Sample11d"); インスタンスを生成 public void void init(){ cb1.additemlistener additemlistener(this); cb2.additemlistener additemlistener(this); チェックボックスの add(cb1); 状態の変更を検知 add(cb2); するように add(lb1); インスタンスを登録 39/57

サンプルプログラム [2/2] public void void itemstatechanged(itemevent e){ e){ if(cb1.getstate() == == true){ lb1.settext("test 01"); else if(cb2.getstate() == == true){ lb1.settext("test 02"); チェックボックスの状態が変化したときに行うことを書く 40/57

リストその 1 リストとは... 一覧からどれか一つを選択するものです インターフェース ActionListener クラス List リスナ登録 addactionlistener( インスタンス名 ); ある項目がダブルクリックときに呼び出されるメソッド actionperformed(actionevent e) 41/57

リストその 2 インスタンス生成時は次のようにします List インスタンス名 = new List( 値 ); ); 引数として 一度に表示する項目数を指定します リスト内に表示する項目は List クラスのメソッド add を使って追加していきます 一度に表示できる項目数よりも add で追加された項目数の方が多い場合は スクロールバーが出ます 42/57

リストその 3 ダブルクリックされたことを Java が検知するのには次のリスナ登録が必要です インスタンス名.addActionListener(this); 項目がダブルクリックされると actionperformed が実行されます 複数のインスタンスがあっても actionperformed は 1 つだけです どのリストがダブルクリックされたかは ActionEvent のオブジェクトのメソッド getsource() で知ることができます 43/57

リストその 4 クラス Checkbox のメソッド add(" 文字列 ") リストに文字列を項目として追加します getselecteditem() 選択された項目を返します 44/57

サンプルプログラム [1/2] import java.applet.applet; import java.awt.*; import java.awt.event.*; /* /* <applet code="sample11f.class" width=200 height=200></applet> */ */ インターフェイス ActionListener を実装 public class Sample11f extends Applet implements ActionListener{ List List ls1 ls1 = new new List(3); Label lb1 lb1 = new new Label("Sample11d"); public void void init(){ インスタンスを生成 ls1.addactionlistener addactionlistener(this); ls1.add("test 001"); チェックボックスの項目を追加 ls1.add("test 002"); 状態の変更を検知 ls1.add("test 003"); するように ls1.add("test 004"); ls1.add("test 005"); ls1.add("test 006"); 45/57

サンプルプログラム [2/2] add(ls1); インスタンスを登録 add(lb1); public void void actionperformed(actionevent e){ e){ lb1.settext(ls1. ls1.getselecteditem getselecteditem() ()); ()); チェックボックスの状態が変化したときに行うことを書く 46/57

チョイスその 1 リストとは... 一覧からどれか一つを選択するものです インターフェース ItemListener クラス List リスナ登録 additermlistener( インスタンス名 ); ある項目が選択ときに呼び出されるメソッド itemstatechanged(itemevent e) 47/57

チョイスその 2 インスタンス生成時は次のようにします Choice インスタンス名 = new Choice(); リスト内に表示する項目は List クラスのメソッド add を使って追加していきます 一度に表示できる項目数は 1 つです プルダウンメニューにより 項目を選択します 48/57

チョイスその 3 項目が選択されたことを Java が検知するためには 次のリスナ登録が必要です インスタンス名.addItemListener(this); 選択された項目が変わったことが検知されると itemstatechanged が実行されます 複数のインスタンスがあっても itemstatechanged は 1 つだけです どのチョイスの状態が変更されたかが押されたかは ItemEvent のオブジェクトのメソッド getsource() で知ることができます 49/57

チョイスその 4 クラス Checkbox のメソッド add(" 文字列 ") リストに文字列を項目として追加します getselecteditem() 選択された項目を返します 50/57

サンプルプログラム [1/2] import java.applet.applet; import java.awt.*; import java.awt.event.*; /* /* <applet code="sample11g.class" width=200 height=200></applet> */ */ インターフェイス ItemListener を実装 public class Sample11g extends Applet implements ItemListener{ Choice ch1 ch1 = new new Choice(); Label lb1 lb1 = new new Label("Sample11d"); インスタンスを生成 public void void init(){ ch1.additemlistener additemlistener(this); ch1.add("test 001"); 項目を追加 ch1.add("test 002"); ch1.add("test 003"); add(ch1); add(lb1); インスタンスを登録 チェックボックスの状態の変更を検知するように 51/57

サンプルプログラム [2/2] public void void itemstatechanged(itemevent e){ e){ lb1.settext(ch1. ch1.getselecteditem getselecteditem() ()); ()); 選択されている項目が変化したときに行うことを書く 52/57

キャンバスその 1 キャンバスとは... 描画することができるフィールドです インターフェース なし リスナ登録 なし クラス Canvas 53/57

キャンバスその 2 実際にキャンバスを利用するときは 1. クラス Canvas をスーパークラスにもつサブクラスを作り 2. そのインスタンスを生成します します 描画は サブクラスを作るときに paint() メソッドをオーバーライドすることで行います 54/57

ラベルその 2 クラス Cancas のメソッド paint(graphics g) 普通 サブクラスでオーバーライドします setsize(int width, int height) キャンバスのサイズを設定します width の幅と hieght の高さになります 55/57

サンプルプログラム [1/2] import java.applet.applet; import java.awt.*; import java.awt.event.*; /* /* <applet code="sample11h.class" width=200 height=200> </applet> */ */ Canvasをスーパークラス class TestCanvas extends Canvas{ に持つサブクラスを作る public void void paint(graphics g){ g){ g.drawarc(20,20,160,160,0,360); g.drawrect(20,20,160,160); paintを書く 56/57

サンプルプログラム [1/2] public class Sample11h extends Applet{ TestCanvas cv1 cv1 = new new TestCanvas(); (); public void void init(){ cv1.setsize setsize(100,100); add(cv1); インスタンスを登録 インスタンスを生成 インスタンスの表示サイズを設定 57/57