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



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

Microsoft PowerPoint ppt

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

Java言語 第1回

Microsoft PowerPoint - OOP.pptx


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

< F2D B838A835882CC8CF68EAE2E6A7464>

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

ガイダンス

< F2D82B682E182F182AF82F12E6A7464>

< F2D834F838C A815B A CC>

< F2D82518CC282CC D2E6A7464>

< F2D825282CC947B909482CC A815B83682E6A>

< F2D92DE82E8914B82CC977088D32E6A7464>

ガイダンス

JAVA入門

アプレットの作成

Microsoft PowerPoint ppt

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

1.2. ご 利 用 環 境 推 奨 ブラウザ Internet Explorer Google Chrome(バージョン 32 時 点 で 動 作 確 認 済 み) Mozilla Firefox(バージョン 26 時 点 で 動 作 確 認 済 み) Safari 7

< F2D F B834E2E6A7464>

目 次 ログインする 前 に... 4 メンバー 管 理 編 ( 管 理 者 )... 5 ログインする... 6 トップページについて... 7 メンバー 管 理 をする... 8 メンバー 管 理 画 面 について 医 療 機 関 指 定 新 規 追 加 指 定...

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

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

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

技術報告会原稿フォーマット

< F2D8EA CE909482CC92EA82852E6A7464>

WEBメールシステム 操作手順書

タグの 内 側 で 関 数 を 定 義 してタグ 側 で 実 行 することもできます <TITLE>JavaScript サンプル</TITLE> function write(str) { document.write(str); } write('hello World!'); 上 例 のように

1

産 前 産 後 休 業 終 了 時 報 酬 月 額 変 更 届. 事 前 準 備. 作 成 画 面 の 起 動 方 法 4. 基 本 データの 登 録 5 4. 届 出 書 の 作 成 7 5. 電 子 申 請 8 6. 申 請 後 のデータ 確 認 方 法 9

目 次 1. Web メールのご 利 用 について Web メール 画 面 のフロー 図 Web メールへのアクセス ログイン 画 面 ログイン 後 (メール 一 覧 画 面 ) 画 面 共 通 項 目

Java言語 第1回

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

目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順 アドレス 帳 の 操 作 手 順 フォルダーの 操 作 手 順 メール 発 信 者 登 録 署 名 登 録 手 順 基 本 的 な 設 定

< F2D E E6A7464>

Gmail 利用者ガイド

スライド 1

<4D F736F F D B68F918DEC90AC89898F4B899E977095D2816A2E646F63>

Microsoft Word - 311Tools_END

目 次 1. ログイン ログアウト デスクトップ( 例 :Word Excel 起 動 中 ) Dock( 例 :Word Excel 起 動 中 ) Finder ウィンドウ メニューバー( 例 :Word 起 動 中

4.5. < 参 加 表 明 書 を 提 出 する> 調 達 案 件 一 覧 の 表 示 対 象 となる 案 件 を 検 索 し 調 達 案 件 一 覧 に 表 示 させます 参 加 したい 案 件 の 調 達 案 件 名 称 行 - 入 札 参 加 資 格 確 認 申 請 / 技 術 資 料 /

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

< F2D B825082CC96E291E82E6A7464>

PC 移 行 は 以 下 の 流 れで 行 います 次 ページ 以 降 に 各 手 順 を 記 載 しますのでご 確 認 ください ( をクリックすると 該 当 の 説 明 にジャンプします ) 移 行 元 のPCでの 作 業 Step1 移 行 するデータをバックアップする (3ページ) [データ

スライド 1

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 入 力 項 目 について 基 本 情

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

目 次 1. ログイン/ログアウト 1.1 ログインする p ログアウトする p.3 2. 受 講 一 覧 画 面 p.4 3. 授 業 ページの 閲 覧 3.1 授 業 ページへの 遷 移 p 授 業 資 料 を IT s class.からダウンロードする p

請 求 データを 作 成 しましょう 操 作 手 順 1 トップページ 画 面 で [ 口 座 振 替 請 求 ]をクリックして 口 座 振 替 請 求 サービスのメインメニュー 画 面 を 表 示 し [ 請 求 データ 作 成 ]をクリックします 請 求 データは 最 大 10 個 作 成 する

ガイダンス

ガイダンス

PowerPoint プレゼンテーション

C.1 共 有 フォルダ 接 続 操 作 の 概 要 アクセスが 許 可 されている 研 究 データ 交 換 システムの 個 人 用 共 有 フォルダまたは メーリングリストの 共 有 フォルダに 接 続 して フォルダを 作 成 したり ファイル をアップロードまたはダウンロードしたりすることがで

Microsoft Word - 不正アクセス行為の禁止等に関する法律等に基づく公安

Java演習(4) -- 変数と型 --

<4D F736F F D C97F195CF8AB DEC90E096BE8F912091E6312E313294C52E646F63>

ガイダンス

図 2 のような 画 面 が 表 示 されるので Install Proself Disk.pkg を 右 クリック(Ctrl+クリック)して 開 く をクリックしてください 図 2 インストーラ 画 面 図 3 のような 画 面 が 表 示 されるので 開 く をクリックしてください 図 3 確

ThinkBoard Free60 Manual

Microsoft Word - 第3章.doc

振込データの作成

<4D F736F F D2090C389AA8CA72D92F18F6F2D D F ED28CFC82AF91808DEC837D836A B E838B A815B816A2E646F6378>

<4D F736F F D208E9197BF342D8EC08F4B87428EF68BC B834A E646F6378>

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

Microsoft Word - ML_ListManager_10j.doc

1. 目 次 1. 目 次 2.はじめに 2-1.メールテンプレート 編 集 機 能 とは? 2-2. 対 象 読 者 3. 用 語 一 覧 4. 利 用 の 流 れ 4-1.メールテンプレート 編 集 の 流 れ 5. 機 能 説 明 利 用 方 法 5-1.テキストメール 編 集 開 封 率 を

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

2

Microsoft Word - mtdevguide1_for_sample.doc

<4D F736F F F696E74202D F C A082B882AF816082E ED2834B F91808DEC90E096BE95D C782AF A95D2816A E C5817A2E B8CDD8AB B83685D>

2. データを 検 索 する なごやコレクションのデータを 検 索 するための 方 法 として キーワード 検 索 詳 細 検 索 の 二 通 りの 検 索 方 法 が あります 2.1. キーワードから 探 す キーワードを 入 力 する トップページの 入 力 ボックスに 検 索

Windows8. スタート 画 面 とデスクトップ 画 面 の 切 替 方 法 Windows 8. では 種 類 のInternet Explorer( 以 下 IE)が 存 在 します ()スタート 画 面 に 表 示 されているタイルより 起 動 するIE(ストアアプリ 版 IE) ()デス

はじめに確認していただきたいこと

BizDataBank とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケーション (オンラインストレージ)です 本 資 料 について BizDataBank サービスは マイナーバージョンアップ 等 もあるため 実 際 のクライアントと

1 キャンセル 処 理 1-1 受 注 台 帳 でキャンセルの 処 理 を 行 う キャンセルする 受 注 を 検 索 します 1 受 注 台 帳 にキャンセルする 受 注 の 注 文 番 号 を 入 力 し 検 索 します 2 検 索 結 果 に 表 示 された 注 文 番 号 をクリック 注 文

5-2 一 般 ユーザー 用 :メール 2 送 信 者 のリンクをクリックすると 受 信 メールの 内 容 を 見 ることができます 受 信 メール 内 容 画 面 項 目 送 信 者 宛 先 CC 本 文 (テキスト) 本 文 (HTML) メールアドレスのリンクをクリックするとアドレス 帳 へ

<IE の 設 定 について> 従 来 版 をすでにご 利 用 の 方 の 場 合 互 換 表 示 設 定 がある 状 態 になっていると 思 わ れますので 必 ず 解 除 の 設 定 を 行 ってください 従 来 版 では IE の 10 以 上 では 互 換 表 示 設 定 が 必 要 でした

ご 利 用 の 前 に 手 順 初 回 ご 利 用 時 に 必 ずご 確 認 ください ご 利 用 の 前 に (ご 利 用 環 境 の 確 認 ) P アクセス 方 法 (IMAGE WORKSサイトへアクセス) P 初 期 設 定 (JREのインストール) P

Java言語 第1回

TeleOffice 3.0 Lync 2 TO

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

メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受 信 したメールが 一 覧 表 示 されます メール 受 信 タブをクリックすると 受 信 箱 フ

スライドの 編 集 とリンク スライドのレイアウトやデザインが 決 まったら 文 字 の 編 集 をしたり スライドの 順 序 変 更 やリンク 設 定 をして 見 栄 えの 良 いプレゼンテーションを 作 成 しましょう ファイル MP05 完 成.ppt を 開 き 内 容 を 編 集 していき

1. 機 能 概 要 CADデータ(DXF 形 式 )を 変 換 し EXCELに 図 形 として 表 示 します CADでのレイヤー 毎 に 表 示 / 非 表 示 や 線 分 の 属 性 ( 色 太 さ 等 )を 指 定 でき さらに 作 成 する 図 面 の 範 囲 大 きさを 指 定 できま

「1 所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編

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

2016 年 度 情 報 リテラシー 三 科 目 合 計 の 算 出 関 数 を 用 いて 各 教 科 の 平 均 点 と 最 高 点 を 求 めることにする この2つの 計 算 は [ホーム]タブのコマ ンドにも 用 意 されているが 今 回 は 関 数 として 作 成 する まず 表 に 三 科

第 1 章 雇 用 保 険 関 係 手 続 支 援 サービス 1.1 雇 用 保 険 関 係 手 続 支 援 のご 利 用 に ついて 雇 用 保 険 関 係 手 続 支 援 サービスでは 雇 用 保 険 関 係 の 手 続 に 必 要 な 申 請 書 等 を 作 成 する 際 の 支 援 を 行

PowerPoint プレゼンテーション

変 更 履 歴 日 付 版 数 変 更 内 容 2012/07/13 Rev 初 版 発 行 2013/07/03 Rev 対 応 機 器 一 覧 機 器 一 覧 を 更 新 [Settings] 画 面 の 表 示 時 刻 を 挿 入 する 機 能 を

PATENTBOY/Netバージョンアップ説明書(Ver.1.92)

4) 下 記 項 目 を 入 力 して Add ボタンをクリックします 名 前 Browse ボタンをクリックすると 認 識 可 能 なプリンタが 表 示 されますので 選 択 して 指 定 します クラス どのクラスの 出 力 結 果 をプリンタへ 送 るのか 指 定 します 説 明 任 意 に

研究者総覧システム

「給与・年金の方」からの確定申告書作成編

スライド 1

<4D F736F F F696E74202D DEC837D836A B5F B838B C F985E2E >

パソコンバンクWeb21 操作マニュアル[導入・事前設定編]

目 次 1.はじめに 1 1.クライアント 環 境 1 2. 初 期 設 定 1 1.システムログイン 1 3.プロジェクト データの 管 理 4 1.プロジェクトの 新 規 作 成 4 2.ファイルのアップロード 5 3.ファイルのダウンロード 6 4.タスク 8 1.タスクの 設 定 8 2.オ

Transcription:

-アプレット- アプレットとは 単 独 で 動 作 することはなく, ほかのアプリケーションの 中 に 組 み 込 まれ 形 で 実 行 されるプログラム. 主 に) ( Web ページのHTMLソースコードから 参 照 されるプログラムであり,その Webページ 内 容 は 上 に 表 示 される : Webサーバーからブラウザに 自 動 的 にダウンロードされ,そのアプレットは WWWブラウザの 環 境 で 実 行 される. アプリケーション: 独 立 してインタプリタを 使 って 実 行 されるプログラム (これまでのプログラム 実 行 方 法 ) アプレットはセキュリティの 面 から 機 能 に 多 くの 制 限 が 設 けられている Java アプレットからクライアントマシン 上 のファイルを 読 み 書 きできない 同 上 ) ( プログラムを 起 動 できない 同 上 ) ( パッケージやクラスは 使 えない クライアントマシンとネットワークでつながった 別 のマシンへ, Java アプレットから 接 続 できない (アプレットがロードされたマシン 以 外 へネットワー ク 接 続 できない) 特 定 のシステム 情 報 を 読 み 出 すことができない アプレットの 作 成 と 実 行 手 順 アプレットは,Applet(AWT) あるいはJApplet(Swing) のサブクラスとして 作 成 する (アプレットはWebページに 組 み 込 まれて 実 行 されるための 機 能 を 備 えている.) なお,アプレット(のクラス)は public として 定 義 する. コンストラクタの 代 りにinit メソッドを 定 義 する(P4 参 照.main メソッドは 用 いない) JApplet あるいはApplet のコンテントペインに 接 直 コンポーネントを 貼 り 付 ける. JApplet, Applet の 特 徴 トップレベルコンテナに 相 当 する.コンポーネントを 入 れるにはコンテントペインを 使 う メニューバーが(そのまま) 付 けられる (トップレベルコンテナに 相 当 するため ) デフォルトの 配 置 方 式 はBorderLayout JApplet,Applet オブジェクトに 直 接 グラフィックスを 描 画 する Applet クラスはPanel クラスを 継 承 している.( 下 図 参 照 ) java.awt.compone nt java.awt.container java.awt.panel java.awt.applet ( javax.swing.japplet) クラスの 継 承 関 係 実 行 手 順 (1)Java ソースファイルを 作 成 ( アプレットのプログラム) (2)HTML ファイルを 作 成 (3)Java ソースファイルをコンパイルする class ( ファイルの 作 成 ) (4)WWWブラウザでHTMLファイルを 開 くあるいはアプレットビューアでHTMLファイルを 開 く JApplet および Swing は( 現 時 点 の)WWWブラウザでは 対 応 できないため, WWWブラウザでは 表 示 で きないため,HTMLコンバータの 利 用 により 実 行 する. appletviewer java アプレットを 実 行 し, 結 果 を 表 示 するための Java 開 発 キット(jdk )のコマンド. appletviewer で 表 示 されば,WWWでも 表 示 できる. -1-

テキストエディタ ファイル 名.java クラス 名.html クラス 名.java 利 用 方 法 は2 通 り ファイル 名.html Java コンパイラ ( javac ) appletviewer (コンソール 上 ) あるいは WWW ブラウザ (Internet Explorer, Netscape) クラス 名.class 実 行 にはこの 2つの ファイルが 必 要 結 果 表 示 ( 表 示 用 の GUI 上 に 表 示 される) 結 果 表 示 (WWWブラウザ 上 に 表 示 ) この2つのファイル (プログラム)を 作 成 Java Applet を 用 いた 処 理 の 流 れ プログラム 作 成 例 Applet1.java Applet クラスは java.applet パッケージ のため import 1:import java.applet.*; 2:import java.awt.*; アプレットは public クラス 3: とする 4: public class Applet1 extends Applet { 5: 6: public void paint(graphics g) Applet クラスを 継 承 (JApplet { の 場 合 あり) 7: // Graphics オブジェクトに 文 字 列 を 描 いてもらう 8: g.drawstring("java アプレット テスト 成 功!", 10, 20); 9: } 10: 11:} Applet クラスのpaint メソッドを 再 定 義 アプレットにはmain メソッドは 必 要 ない Applet1.html タグ(<**> ~ < /**> で 処 理 内 容 を 挟 む) 1:<HTML> 2:<HEAD> 3: <TITLE>Java アプレットNo.1</TITLE> この 部 分 は WWW ブラウザのみ 4:</HEAD> で 表 示 される 5: 6:<BODY > ソースファイル(Applet1.java)の 実 7: Applet1 のテスト 行 のために 設 定 ( 表 示 方 法 含 ) 8: <P> 9: <APPLET code="applet1.class" width=200 height=5 10:</BODY> 11:</HTML> 幅 200 高 50 領 域 に -2- Applet1.class の 内 容 を 表 示 する

Appletviewer での 表 示 例 Applet1.class の 表 示 幅 200 高 50 WWWブラウザでの 表 示 例 HTMLファイル 作 成 の 注 意 (1) ファイル 名 は 何 でもよい(java, ファイル class 名 とは 異 なるファイル 名 でも 良 い) (2) <APPLET ****** code=" " width= ***height= ></APPLET> がソースファイル(クラス.jav 名 a(あるいはク ラス 名.class) ) 実 行 部.( code, width, height はアプレットを 表 示 するための 属 <APPLET 性 ( >の 属 性 )) code=" ****** "の ****** : 実 行 対 象 のファイル 名 (class ファイル) width= *** と height= *** : アプレットを 表 示 する 領 域 の 幅 と 高 さ (3) WWWブラウザでは<BODY> ~ </BODY>までが 表 示 対 象 (4) その 他 多 数 のタグが 存 在 する アプレット 実 行 方 法 1 appletviewe r 利 用 コンソール 画 面 上 で 以 下 のコマンドを 入 力 appletviewer ファイル HTML ( 例 ) appletviewer Applet1.html 2 WWWブラウザの 利 用 WWWブラウザで HTML ファイルを 呼 び 出 す ( 例 )Webブラウザのアドレスに e:\tmp \Applet1.html, www.iecs.kansai-u.ac.jp/applet1.html を 入 力 -3-

アプレット 実 行 のしくみとメソッド(アプレットのライフサイクル) Applet クラスにはアプレットを 実 行 するためのメソッドが 用 意 されている.(これらのメソッドは Applet クラスに 存 在 し, 再 定 義 して 利 用 する.) アプレットが 実 行 されると アプレット( Applet あるいはJApplet クラスを 継 承 し, 自 分 で 作 成 したクラス)のオブ ジェクトが 生 成 され, アプレットの 実 行 から 終 了 までに の4つのメソッドが 次 呼 び 出 される. メソッドの 内 容 に 合 わせて 自 分 で 適 当 な 処 理 を 記 述 して, 実 行 させる. init( ) アプレットの 実 行 が 開 始 するときだけ 呼 び 出 される. 通 常,クラスのコンストラクタに 指 定 する 内 (および 容 main メソッドの 内 )を 容 記 述 する. (アプレットのインスタンスフィールドの 初 期 設 定 アプレット 上 のコンポーネントの 設 定 アプレットが 使 うイメージのロードなど) start( ) init( の 実 行 が ) 終 わった 後 で 実 行 される.あるいはアプレットの 実 行 を 再 開 するときに 呼 び 出 される. 通 常,アプレットの 動 作 を 始 動 する 処 理 を 書 く. (スレッドをもつアプレットの start( 場 合, でスレッドを ) 開 始 する.(run メソッドに 処 理 内 容 を 記 述 する)) stop( ) アプレットの 実 行 を 中 断 ( 一 時 停 止 )するときに 呼 び 出 される. アプレットの 動 作 を 一 時 停 止 したときの 処 理 を 書 く. (ブラウザが 別 のWebページに 移 るときに 自 動 的 に 呼 び 出 される) destroy( ) アプレットが 終 了 する 直 前 に 呼 び 出 される.(destroy( の 前 に stop( ) が 呼 び 出 ) される.) アプレットが 利 用 するリソースを 解 放 する 処 理 を 書 く. (アプレットが 使 っていたリソースはアプレットの 実 行 が 終 了 すると 自 動 的 に 解 (destroy( 放 される. メ ) ソッドは 必 要 ない.)) Applet の 実 行 (Web ページのロード) ( 通 常 ),GUI 作 成 の プログラムを 記 述 する. init( ) destroy( ) 別 のWeb ページに 移 る Web ページの 終 了 (アプレットの 破 棄 ) Web ページの 終 了 (アプレットの 破 棄 ) start( ) stop( ) アプレットの 実 行 元 の Web ページに 戻 る アプレット 実 行 の 流 れ( 教 科 書 p174) init( を 利 用 したプログラム ) 例 を 次 ページに 示 す. -4-

1:// HelloApplet.java リスト13.1 ( 教 科 書 p175 ) 2:impor t java.awt.*; 3:import java.awt.event.*; JApplet の 継 承 メソッドの 4:import 利 用 プログラム javax.swing.*; 例 5: 6:public class HelloApplet extends JApplet implements GUIの 作 成 用 7: JLabel label; //ラベル 用 の 変 数 8: JButton //ボタン b1, 用 b2; の 変 数 プログラム 9: (コンストラクタで 記 10: public ){ void init( 述 されていた 内 容 ) 11: = label new JLabel(" //JLabel "); オブジェクトの 生 成 12: b1 = ごあいさつ"); new JButton(" //JButton オブジェクトの 生 成 13: b2 = new 消 去 JButton(" "); //JButton オブジェクトの 生 成 14: 15: b1.addactionlistener(this); //イベントリスナーを 設 定 16: b2.addactionlistener(this); //イベントリスナーを 設 定 17: 18: Container ); c = //フレームの getcontentpane( 内 容 表 示 域 を 得 る 19: c.add(label, //ラベルを BorderLayout.NORTH); 置 く 20: c.add(b1, BorderLayout.CENTER); //ボタンを 置 く 21: c.add(b2, BorderLayout.EAST); //ボタンを 置 く 22: } 23: 24: public void rmed(actionevent actionperfo e){ 25: Object obj = e.getsource(); 26: if(obj == b1){ //b1 が 押 されたら 27: label.settext(" こんにちは"); //label に 文 字 列 を 設 定 28: } 29: else if(obj == b2){ //b2 が 押 されたら 30: label.settext(" //label の "); 文 字 列 を 消 す 31: } 32: } 33:} hello.html リスト13. 2( 教 科 書 p176 ) 1:<HTML> HelloApplet.class( ア プレ ッ 2:<HEAD> ト)の 実 行 のためのコマンド 3:<TITLE>Hello Program</TITLE> 4:</HEAD> 5:<BODY> 6:こんにちはプログラム 7:<HR> 8:<APPLET CODE="HelloApplet.class" WIDTH=150 HEIGHT=60 9:</APPLET> 10:</BODY> 11:</HTML> 実 行 結 果 : (コンソール 画 面 上 で) appletviewer hello.html とする ごあいさつ をクリックした 場 合 -5-

アプレット 上 でのイメージ( 画 像 データ) 表 示 Swing コンポーネント 上 にイメージを 表 示 するためには 下 のどちらかを 利 用 する. ImageIcon オブジェクト ( アプリケーションと 同 じ) Image オブジェクト ( アプリケーションとは 異 なる) ( 注 意 ) Image オブジェクトを 利 用 する 場 合 は, Applet クラスのgetImage メソッドを 使 うことが 必 要 Applet クラスのオブジェクトが 作 成 されていないと 動 かない 通 常,init( ) 内 で 指 定 ロードするイメージファイルの URLの 指 定 を Applet クラスのgetCodeBase( を 使 うと,プログラム ) 内 で 具 体 的 な URLを 記 述 しないですむ Image img= getimage( imagefile.gif getcodebase( ); ), ImageIcon icon = new ImageIcon(new imagefile.gif )); URL(getCodeBa 1:// AppletImg.java Applet を 継 承 実 行 時 に 始 めに 一 度 だけ 2:// 画 像 を 表 示 するJava アプレット 実 行 される(init( メソッド) ) 3:import java.applet.*; 4:import java.awt.*; Image クラス 型 変 数 に 画 像 デ 5: ータを 入 れる 6:public class AppletImg extends Applet { Appletのメソッドであること 7: に 注 意 8: Image img; 9: 画 像 データ 10: public ) void { init( 頻 繁 に 実 行 される 描 画 のための 11: img = getimage(getdocumentbase( ), "dance.gif"); メソッド 12: } 13: 実 際 に 描 画 するメソッド 14: public void paint(graphics g) { Graphics クラスのメソッドで 15: g.drawimage(img, 10, this); 5, あることに 注 意 16: } 17:} getdocumentbase( )は Applet クラスのメソッドで 検 索 対 象 のフォルダを 設 定 する 引 数 無 しで 呼 び 出 すとHTML ファイルと 同 一 のフォルダ 内 のファイルを 探 す AppletImg.html 1:<HTML> 2:<HEAD> 3: <TIT LE>Java アプレット( 画 像 )</TITLE> 4:</HEAD> 5: 6:<BODY> 7: <APPLET code="appletimg.class" 80></APPLET> width=200 height= 8:</BODY> 9:</HTML> 結 果 表 示 (appletviewer ) java のプログラムの class ファイル -6-

PARAMタグ(HTML 内 での 設 定 ) 特 徴 アプレット 実 行 の,アプレ ットに 対 してパラメータを HTMLファイルより 与 えるタグ <PARAM>タグは<APPLET >~</APPLET > 間 に 指 定 <PARAM>タグで 指 定 したパラメータはアプレット java 内 ファイル ( 内 )でgetParameter( で 参 照 できる ) <PARAM>タグでアプレット 内 に 渡 されるデータは 文 字 列 として 渡 されるため, 数 値 として 扱 う 場 合 は 対 応 するデータの 方 に 変 換 する 必 要 がある( ラッパークラスの 利 用 ) getparameter( W ); <APPLET> <PARAM name=w value=640> </APPLET> java ファイル html ファイル 上 記 の 処 理 により,java ファイル 内 に W=640(ただし, 文 字 列 として)が 入 る. そこで,java ファイル 内 で w = Integer.parseInt(getParameter( W )); などとすれば, w = Integer.parseInt(getParameter( 640 )); となる w = 640 プラグイン ユーザーのブラウザ 実 行 環 境 によって 実 行 できないプログラム(アプレット)がある どのブラウザを 場 合 に, 利 用 しても 正 常 に 作 動 するようにブラウザの 環 境 を 設 定 変 更 するために(アプレットにより) 環 境 設 定 を 行 うプログラムおよびそのしくみをプラグインと 言 う.(ブラウザの 環 境 とは 独 立 してアプレット が 実 行 される. 例 えば,QuickTime や RealPlayer,Acrobat Reader といったソフトを Web からダ ウンロードして( 自 分 のコンピュータに) 設 定 することやそのソフトも プラグイン と 言 う.) HTML ファイルでの 設 定 プラグインで 実 行 するアプレットをWebページに 組 み 込 むには, <EMBED >タグ(Netscape 用 ),<OBJECT >タグ(Internet 用 )を Explore 利 用 する. ブラウザの 種 類 に 依 存 しないため< APPLET >タグでアプレットを 組 み 込 んだ HTMLファイルを,プラ グインアプレットへ 変 換 するプログラムを 利 用 する.( HTMLコンバータ.タグを 書 く 必 要 が 無 い) ブラウザとアプレットのコミュニケーション ( 教 科 書 p185 ) アプレットがブラウザあるいはビューア 上 で 実 行 されている Applet 場 合, クラスあるいはAppletContext インタ ーフェースのメソッドにより,ブラウザおよびビューアとアプレット 間 で 情 報 のやり 取 り(コミュニケーション こと)を 可 能 とする. 結 果 表 示 ブラウザ 情 報 アプレット 情 報 入 力 ユーザー クライアント 側 <HTML 文 書 > 2 3 1 4 サーバー 側 <.java ファイル ソースコード> -7-

コミュニケーションを 取 る 手 段 の 例 1ブラウザからアプレットの 起 動 終 了 ブラウザからアプレットを 実 行 自 動 的 にアプレット 内 のinit( などが ), 呼 start( ばれ,ブラウザとアプレット ) 間 でコミュニケーションが 取 れる.( 上 図 の1の 情 報 伝 達 後,アプレットで 処 理 がなされる) 2アプレットからWebページの 場 所 を 知 る Applet クラスのgetCodeBase( ),getdocument( メソッド ) HTML 文 書 の 場 所 を 得 る(1の 方 向 で 情 報 を 得 る.ただし,この 場 合 はクライアントのブラウザとは 限 らない.ブラウザ 上 に 表 示 されている HTMLの 場 所 など) 3アプレットがブラウザに 状 態 を 知 らせる Applet クラスのshowstatus( メソッド ) ブラウザのステイタスラインにアプレットの 状 態 を 知 らせるメッセージを 表 示 する.(アプレットからブ ウザへの 要 求 を 出 すことに 相 当.2の 方 で 向 情 報 をブラウザに 与 える) 4ブラウザがアプレットのパラメータの 情 報 を 知 る Applet クラスのsetParameterInfo( メソッド ) ブラウザからアプレットに 引 き 渡 すパラメータを 設 定 する.(ブラウザ 内 で 与 えられた 情 報 をアプレット に 渡 す.ユーザーからインタラクティブにパラメータを 設 定 できる.(< PARAM>タグの 利 用 )1の 方 向 で 情 報 をアプレットに 与 える) 5アプレットからブラウザの 表 示 ページを 変 える AppletContext インターフェースのshowDocument( メソッド ) ブラウザの 表 示 をアプレット 内 で 設 定 したURLのページに 変 更 できる(アプレット 側 からブラウザを 操 作.2の 方 向 で 情 報 をアプレットに 与 える) -8-

動 画 (スレッドの 利 用 ) 動 画 作 成 のポイント (1) 動 画 を 実 行 するためにはスレッドを 利 して, 用 描 画 (および 動 画 )の 開 始, 再 (ウィンドウの 描 画 表 示 の 更 新 )を 行 なう. スレッドのオブジェクト 作 成 続 けて スレッドの 開 ( 始 start( run( ) ) ) に 順 で 処 理 する. このため, 以 下 の 処 理 が 必 要 となる. 1 init メソッド 内 で スレッドのオブジェクト 作 成 と スレッドの 開 ( 始 start( )) 2 ()の run記 述 (2) ウィンドウの 更 新 ( 再 描 画 )には repaint メソッドを 用 いる.( グラフィックス の 資 料 参 照 ) のこと repaint メソッドの 実 行 により, repaint( update( ) paint( ) と 自 動 ) 的 に 実 行 される. このため, 以 下 の 処 理 が 必 要 となる. 1 run メソッド 内 で repaint メソッド を 繰 り 返 し 呼 ぶ. ( 具 体 的 には,while 文,for 文 を 利 用 して 繰 り 返 してrepaint( を 実 行 させる.) ) 2 1で repaint メソッドを 呼 ぶ 際 に 描 画 を 一 定 時 間 休 止 させる.(Thread クラスのsleep メソッドの 利 用 ) 3 paint メソッドに 描 画 内 容 を 記 述 (paintcomponent( ではない) ) ( 注 意 ) paint メソッドを 利 用 するため, JApplet, Applet クラスのどちらを 継 承 させても 良 い. ただし,import するパッケージが 異 なるので 注 意 すること. ( java.awt.* のほか) JApplet の 場 合 : impo rt javax.swing.*; Applet の 場 合 : import java.applet.*; Thread を 利 用 するため プログラム 例 1(カウンタ:Counter.java 独 習 ) P401) ( カウンタはウィンドウ 中 央 に 表 示 し,0から 毎 秒 1ずつ 増 える 1: import java.applet.*; 30: public void paint(graphics g) { 2: import java.awt.*; 31: // フォントを 設 定 する 3: 32: g.setfont(new Font("Serif", Font.BOLD, 36)); 4: public class Counter extends Applet 34: // フォントメトリックスを 取 得 する 5: implements Runnable { 35: FontMetrics fm = g.getfontmetrics( ); 6: int counter; 36: // カウンタを 表 示 する 7: Thread t; 37: String str = "" + counter; 数 字 の 設 定 8: 38: Dimension d = getsize(); 9: public void init( ) { 39: int x = d.width/2 - fm.stringwidth(str)/2; 10: // カウンタを 初 期 化 する 11: counter = 0; 12: // スレッドを 開 始 する 13: t = new Thread(this); 14: t.start( ); 15: } //--- init ( ) の 終 わり 16: 17: public void run( ) { 18: try { 19: while(true) { 20: // 再 描 画 を 要 求 する 21: repaint(); 22: // 次 のカウンタを 表 示 する 前 に 休 止 23: Thread.sleep(1000); 24: // カウンタを1 つ 進 める 25: ++counter; 26: } //--- while( ) の 終 わり 27: }catch(exception e) { } 28: } //--- run( ) の 終 わり 29: 40: g.drawstring(str, x, d.height/2); 41: } ///-- paint(graphics g) の 終 わり 42: } 数 字 ( 文 字 列 )の 描 画 run( の ) 実 行 Counter.html paint( の ) <HTML> 実 行 <HEAD> <TITLE>Counter Program</TITLE> </HEAD> <BODY> カウンタプログラム <HR> <applet code="counter.class" width=250 height=100> </applet> </BODY> </HTML> -9-

L1: Applet を 継 承 (L4) しているのでjava.applet.* をimport L5:スレッドを 利 用 するためRunnable インターフェースを 実 装 L7:スレッドを 宣 言 L13,14:スレッドのオブジェクト 作 成 と 開 始 L17~28: L14 のスレッドの 開 始 により, run( が 実 行 ) する L19~26: 無 限 ルーチン(repain tメソッドの 無 限 実 行 ) L21: 再 描 画 ( L30 の paint メソッドが 実 行 される (update の 後 )) L23:スレッドを1000(msec) 停 止 する( 描 画 の 停 止 ) L30~41: 描 画 の 処 理 (run( 内 で 増 ) やされたcounter を 表 示 ) プログラム 例 2( 円 の 移 動 : Oval.java 独 習 () P406) 塗 りつぶした 円 がウィンドウの 左 から 右 に 移 動 する 1: import java.applet.*; 2: import java.awt.*; 3: 4: public class Oval extends Applet 5: implements Runnable { 6: int x = 0; 7: Thread t; 8: 9: public void init( ) { 10: // スレッドを 開 始 する 11: t = new Thread(this); 12: t.start( ); 13: } //--- init ( ) の 終 わり 14: 15: public void run( ) { 16: try { 17: while(true) { 18: // 再 描 画 を 要 求 する 19: repaint(); 20: // ウィンドウを 更 新 する 前 に 休 止 する 21: Thread.sleep(100); 22: } //--- while( ) の 終 わり 23: }catch(exception e) { } 24: } //--- run( ) の 終 わり 25: L1: Applet を 継 承 (L4) しているのでjava.applet.* をimport L5:スレッドを 利 用 するためRunnable インターフェースを 実 装 L7:スレッドを 宣 言 L11,12:スレッドのオブジェクト 作 成 と 開 始 L15~24: L12 のスレッドの 開 始 により, run( が 実 行 ) する L17~22: 無 限 ルーチン(repaint メソッドの 無 限 実 行 ) L19: 再 描 画 ( L26 の paint メソッドが 実 行 される(update の 後 )) L21:スレッドを100(msec) 停 止 する( 描 画 の 停 止 ) L26~34: 描 画 の 処 理 (xがインスタンス 変 数 であることに 注 意 ) 26: public void paint(graphics g) { 27: // 塗 りつぶした 円 を 描 画 する 28: Dimension d = getsize(); 29: g.filloval(x, d.height/4, 50, 50); 30: // x 座 標 を 増 やす 31: x += 5; 32: if(x + 50 > d.width) 33: x = 0; 34: } //--- paint (Graphics g ) の 終 わり 35: } Oval.ht ml <HTML> <HEAD> <TITLE> Circle Program</TITLE> </HEAD> <BODY> Oval プログラム <HR> <applet code=" Oval.class " width=300 height=100> </applet> </applet> </BODY> </HTML> アプレット 利 用 時 の 注 意 (1) JDKのバージョンによって, 対 応 できないブラウザが 存 在 する.( HTMLConverter を 利 用 すると 良 い) 現 在, JDK1.0 JDK1.0.2 ( ), JDK1.1 ( JDK1.1.8 ), JDK1.2 ( JDK1.2.2 )が 存 在 する. MSIE3.0 Netscape3.0 等 のブラウザはJDK1.0 対 応 のため,JDK1.1 以 上 では 注 意 が 必 要. MSIE4.0x Netscape4.06 以 降 からはJDK1.1 以 上 対 応 (JDK1.0 も 含 む) (2) ローカルのファイルを WWW ブラウザで 表 示 する 場 合, 該 当 するローカルのファイル,フォルダに 2バイト 文 字 ( 漢 字,ひらがな 等 )が 含 まれていると 表 示 されなくなる. -10-