Microsoft PowerPoint - OOP.pptx

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

< F2D82518CC282CC D2E6A7464>


ガイダンス

Microsoft PowerPoint prog1_doc2x.pptx

Microsoft PowerPoint ppt

< F2D825282CC947B909482CC A815B83682E6A>

ガイダンス

< F2D F B834E2E6A7464>

< F2D82B682E182F182AF82F12E6A7464>

Microsoft PowerPoint ppt

< F2D834F838C A815B A CC>

< F2D B838A835882CC8CF68EAE2E6A7464>

Microsoft PowerPoint prog1_doc2.pptx

< F2D92DE82E8914B82CC977088D32E6A7464>

Java言語 第1回

アプレットの作成

< F2D8EA CE909482CC92EA82852E6A7464>

Java言語 第1回

Applet java.lang.object java.awt.component java.awt.container java.awt.panel java.applet.applet

< F2D89BA8EE882C E6A7464>

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

JAVA入門

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464>

< F2D BCA82CC978E89BA82CC8EC08CB12E6A7464>

< F2D E E6A7464>

Microsoft PowerPoint - prog11.ppt

Microsoft PowerPoint - prog11.ppt

< F2D B825082CC96E291E82E6A7464>

教材ドットコムオリジナル教材 0から始めるiアフ リ リファレンス i アプリ簡易リファレンス ver i アプリ Java 独自のメソッド (1)iアプリの命令を使えるようにする import com.nttdocomo.ui.*; (2) 乱数を使う import java.u

Microsoft PowerPoint - prog10.ppt

< F2D A839382CC906A2E6A7464>

try catch Exception Java try catch try { } catch ( Exception e ) { } e 16-1 try catch 0 try { int x = 0; int y = 10 / x; } catch ( Exception e ) { Sys

< F2D A838B838D96402E6A7464>

Java演習(2) -- 簡単なプログラム --

Java演習(9) -- クラスとメソッド --

以下に java.awt.graphics クラスの主なメソッドを示す (Graphics クラスの ) メソッド drawline(int x1, int y1, int x2, int y2) drawrect(int x, int y, int width, int height) fillr

Microsoft PowerPoint - prog10.ppt

Microsoft PowerPoint - prog12.ppt

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

アプレットⅤ

Microsoft PowerPoint - OOP.pptx

2

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

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

2008 e-learning T050050

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 +=

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

ガイダンス

Java言語 第1回

GUIプログラムⅣ

ガイダンス

PowerPoint プレゼンテーション

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

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

問1

ガイダンス

r3.dvi

テキストエディタ ファイル 名.java クラス 名.html クラス 名.java 利 用 方 法 は2 通 り ファイル 名.html Java コンパイラ ( javac ) appletviewer (コンソール 上 ) あるいは WWW ブラウザ (Internet Explorer, N

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

PowerPoint Presentation

Prog2_11th

Microsoft Word - Java3.DOC

Java言語 第1回

Java講座

Prog2_9th

データ構造とアルゴリズム論

r4.dvi

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

シミュレーションの簡単な例 GUI 無しのシミュレーションを作る GUI を作る パラメタを設定するデモンストレーションをする 2 オブジェクト指向プログラミング特論

Java言語 第1回

Graphical User Interface 描画する

Prog1_12th

GUIプログラムⅤ

<4D F736F F F696E74202D AC C8899E D834F E >

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

Microsoft Word - A05_AndroidプログラミングJUMP_画面800×1280

PowerPoint Presentation

Java講座

2

I HTML HashMap (i) (ii) :.java import java.net.*; import java.io.*; import java.util.hashmap; public class SimpleStopWatch { public static voi

2 p.2 2 Java Hello0.class JVM Hello0 java > java Hello0.class Hello World! javac Java JVM java JVM : Java > javac 2> Q Foo.java Java : Q B

PowerPoint プレゼンテーション

Microsoft PowerPoint - lec06 [互換モード]

HCI プログラミング 5 回目ウィンドウに画像を表示してみよう 今日の講義で学ぶ内容 画像の表示 画像のエフェクト 画像のビューポート指定 画像の表示 1 画像を表示してみましょう 画像の表示はクラス ImageView により管理されます ソースファイル名 :Sample5_1.java //

Java知識テスト問題

Prog1_12th

Java 2 p.2 2 Java Hello0.class JVM Hello0 java > java Hello0.class Hello World! javac Java JVM java JVM : Java > javac 2> Q Foo.java Java : Q 2.

Java 2 - Lesson01


Chapter 20. [ ] ; [ ] = new [ ] ; Color colors [ ] = new Color[ 20 ]; // 20 Button operations [ ] = new Button[ 10 ]; // 10 colors[ 3 ] = new Color( 1

アプレットⅠ

6 p.1 6 Java GUI GUI paintcomponent GUI mouseclicked, keypressed, actionperformed mouseclicked paintcomponent thread, 1 GUI 6.0.2, mutlithread C

Animals サンプル Step3 張り付けた動物の上をクリックすると それぞれの鳴き声で鳴く その鳴く間 一定時間 ( ここでは 1 秒間 ) 画像が別のものに変わる <アニメーションの基礎 : タイマーについて> アニメーションは アプリケーションが指定する間 一定間隔でどんどん画像をおきかえ

r8.dvi

プログラミング入門1

任意の加算プログラム

Microsoft Word - BouncingBall.doc

第 8 回の内容 クライアントサイド処理 JavaScript の基礎

Transcription:

第 14 回 第 12 章アプレット 28 8 アプレットとは アプレット : ウェブ上で HTML のソースコードから参照されるプログラム.Web サーバや Web ブラウザ ( アプレットビューア ) から動的にアプレットはダウンロードされる. 289

HelloAp.java アプレットの基本事項 public class HelloAp extends Applet{ public void paint(graphics g){ //paint メソッドは画面描画に関する Graphics クラスのオブジェクトを受ける g.drawstring( HelloApplet,30,60); // 座標 (30, 60) に HelloApplet と表示 Java アプレットは,HTML ファイルから呼び出す. HelloAp.html (HTML ファイルの名前は,Java アプレットのファイル名と同じである必要はない ) <HTML> <HEAD><TITLE>Applet Test</TITLE></HEAD> <BODY> <P><APPLET CODE="HelloAp.class" WIDTH=500 HEIGHT=500 ALIGN=bottom> </APPLET></P> </BODY> </HTML> コンパイルと実行 K: java 14th>javac HelloAp.java K: java 14th>appletviewer HelloAp.html *.java ファイルをコンパイルしてできる *.class ファイルを使用 本来は InternetExplorer などの Web ブラウザで表示させたいのだが, 最近はセキュリティーが強化され, アプレットプログラムに証明書が必要らしい. よって本講義ではアプレットの動作チェックに appletviewer を用いる. 290 HelloAp の実行結果 291

定義されている色 292 グラフィック, アプレットの主なメソッド Java プログラムは,main メソッドから処理が開始される. それに対し,Java アプレットは Web ブラウザ等から呼び出されるため,main メソッドは必要ない. Web ブラウザ等が main メソッドの役割を果たす. 293

アプレットの動作 Web ブラウザ等でアプレットを呼び出すと,init() メソッドが実行されてアプレットを初期化 アプレット起動時に start() メソッドが実行され, アプレットがアクティブになる ( 処理を実行 ). stop() メソッドはアプレットが破棄される直前に呼び出されアプレットを停止する. アプレットが完全に終了する際に destroy() メソッドが実行される. 294 Dmojic.java 文字のカラー表示 public class Dmojic extends Applet{ public void paint(graphics g){ // 色を red( 赤 ) に設定. g.setcolor(color.red); g.drawstring(" 赤赤赤 (50, 50)",50,50); Dmojic.html (HTML ファイルの名前は,Java アプレットのファイル名と同じである必要はない ) <HTML> <HEAD><TITLE>Dmojic-test</TITLE></HEAD> <BODY> <P><APPLET CODE="Dmojic.class" WIDTH=500 HEIGHT=500 ALIGN=bottom> </APPLET></P> </BODY> </HTML> コンパイルと実行 K: java 14th>javac Dmojic.java K: java 14th>appletviewer Dmojic.html *.java ファイルをコンパイルしてできる *.class ファイルを使用 295

Dmojic の実行結果 296 Dline2.java // 例題 3 長方形 (10, 30) (100, 200) public class Dline2 extends Applet{ public void paint(graphics g){ g.setcolor(color.blue); g.drawstring(" 青 ",55,30); g.drawline(10,30,100,30); g.setcolor(color.red); g.drawstring(" 赤 ",100,115); g.drawline(100,30,100,200); g.setcolor(color.green); g.drawstring(" 緑 ",55,200); g.drawline(100,200,10,200); g.setcolor(color.darkgray); g.drawstring(" 灰 ",10,115); g.drawline(10,200,10,30); 線分のカラー表示 実行結果 297

Imageg.java // 例題 4 gif データの表示 例題 4 画像データの表示 実行結果 public class Imageg extends Applet{ Image img; public void init(){ img=getimage(getdocumentbase(),"cover.gif"); public void paint(graphics g){ g.drawimage(img,10,10,this); 画像を扱うクラス Image のオブジェクト img 生成 画像データは,getImage メソッドでファイルから読み込む.1 つ目の引数の getdocumentbase メソッドは画像が存在するディレクトリを示し, 2 つ目の引数として画像ファイル名を指定. 画像の表示は drawimage メソッドで行う.img は Image クラスで指定したものであり, 座標 (10, 10) の場所に, 指定した cover.gif の画像を this により指定して表示. 298 Button1.java // 例題 5 add(bt) の this はなし // ボタンが正しく動作するプログラム import java.awt.event.*; 例題 5 ボタンの表示とヒット処理 public class Button1 extends Applet implements ActionListener{ Button bt; public void init(){ // ボタンの作成と位置の決定. bt=new Button(" 開始 "); add(bt); bt.addactionlistener(this); public void actionperformed(actionevent ae){ bt.setlabel(" 中止 "); イベント ( ボタンがクリックされる ) の処理を可能とするため,java.awt.event.* を呼び出す. イベント処理のためのインタフェース ActionListener を実装 ボタンを扱うクラス Button のオブジェクト bt を生成 ( 生成直後のラベルは 開始 とする ) add(bt): オブジェクト bt をアプレットのコンポーネントとして登録 bt オブジェクトを bt.addactionlistener(this); でイベントが発生するかを調べる対象として登録 イベントが発生 ( ボタンがクリックされる ) すると actionperformed メソッドが呼び出される. actionperformed メソッドは,bt.setLabel( 中止 ); でボタンのラベルを 中止 に変更. 299

例題 5 ボタンの表示とヒット処理 : 実行結果 ボタンクリック 300 例題 6 アプレットによるアニメーションの表示 HelloAp1.java ( 冒頭,init メソッド部分 ) /* <APPLET CODE="AnimationTest" WIDTH=200 HEIGHT=150> </APPLET> */ public class HelloAp1 extends Applet implements Runnable{ // 位置, 描画間隔 int positionx=0, positiony=0, waiting=100; // Thread として athread を定義 Thread athread; // Image 用バッファとして buffer を定義 ( 画像要素を逐次描画するのではなく,buffer に全て画像要素を書き込んで // から一気に描画する 描画途中が見えないように ) Image buffer; // Graphics 用バッファとして graphicsbuffer を定義 Graphics graphicsbuffer; // 初期設定 public void init(){ athread=new Thread(this); // athread 自身をスレッドに設定 athread.start(); Dimension d=getsize(); // Image 用バッファを, ダブルバッファリング処理用 createimage メソッドでセット // buffer のサイズはを表示領域のサイズと同じにするため,getSize メソッドで得たサイズを使用 buffer=createimage(d.width,d.height); 301

例題 6 アプレットによるアニメーションの表示 HelloAp1.java (run メソッド,update メソッド部分 ) // 実行 & 再表示処理 public void run(){ try{ while(true){ // 無限ループ. 例外が発生するまで続く // repaintメソッドで再表示 repaint(); Thread.sleep(waiting); // waiting=100のため,100 msごとに再表示を行う. catch(exception e){ // エラー処理 e.printstacktrace(); // 更新処理 public void update(graphics g){ paint(g); 302 例題 6 アプレットによるアニメーションの表示 HelloAp1.java (paint メソッド部分 ) // paint 処理 public void paint(graphics g){ // graphicsbufferには何が入っているか if(graphicsbuffer==null){ GraphicsBuffer=buffer.getGraphics(); // もう一度, 描画領域の大きさを得る Dimension d=getsize(); // 色を設定 graphicsbuffer.setcolor(color.white); // 塗りつぶしの設定 graphicsbuffer.fillrect(0,0,d.width,d.height); // 色の設定 graphicsbuffer.setcolor(color.red); // 文字の設定 graphicsbuffer.drawstring ("HelloAp1",d.width-positionX,positionY); // 文字を描く g.drawimage(buffer,0,0,this); // bufferに貯めたデータを一気に描画 // x 位置をずらす-%- 剰余 positionx=(positionx+2)%d.width; // y 位置をずらす-%- 剰余 positiony=(positiony+2)%d.height; HelloAp1.html の例 <HTML> <HEAD><TITLE>HelloAp1-test</TITLE></HEAD> <BODY BGCOLOR="7F7F7F"> <P><APPLET CODE="HelloAp1.class" WIDTH=200 HEIGHT=150 ALIGN=bottom> </APPLET></P> </BODY> </HTML> 描画領域サイズの矩形を, 白い色で塗りつぶす ( 背景を作成 ) buffer に格納 赤色の文字で HelloAp1 と表示 buffer に格納 303

例題 6 アプレットによるアニメーションの表示 : 実行結果 304