アプレットⅤ

Size: px
Start display at page:

Download "アプレットⅤ"

Transcription

1 アプレット Ⅴ JV5 今回の課題項目 アプレット ( シングルスレッド ) アプレット ( マルチスレッド ) アプレット ( スレッド処理 生成 起動 実行 停止 ) アプレット ( ダブルバッファリング ) ウィンドウ ( ウェイト ) 今回の重点項目 アプレット ( マルチスレッド ) アプレット ( ダブルバッファリング ) ウィンドウ ( ウェイト ) -1-

2 アプレット マルチスレッド スレッドとは スレッドとは プログラムの最小実行単位で有る アニメーションの様にグラフィックスを動かす場合や ネットワーク通信時に待つ場合等に使用される スレッドは java.lang に含まれて居て 使用する場合には Thread クラスを extends( 継承 ) するか Runnable インターフェイスを implements( 実装 ) する必要が有る メソッドとしては run メソッドの実装が必要で有る スレッドの処理 スレッドは Thread オブジェクトを生成し start メソッドを呼ぶ事で起動される 生成した Thread インスタンスは th 等の変数に格納する 変数を使わない場合 Thread.currentThread(); で 自分のスレッドを取得する事も出来る 実際の処理は run メソッドで実行するので 必要な処理を実装する必要が有る run メソッドは スレッドが終了する迄 動作し続ける タイマ割り込みを使用して 一定時間毎の処理を組み込みたい場合は sleep メソッドにミリ秒単位の割り込み間隔を指定する アプレットでアニメーション表示する場合には repaint メソッドで画面を再表示する 他のスレッド等と同期を取る場合は wait メソッドを使用する スレッドの停止は stop メソッドは使わずに インスタンス変数を null にする事で 終了する Runnable インターフェイスを implements class クラス名 implements Runnable Thread th;... スレッドの生成と起動 th = new Thread( this ); th.start( ); スレッドの実行 ( タイマ割り込みの場合 ) public void run( ) while( th!= null ) // 表示等の処理 try Thread.sleep( 割り込み間隔 ); catch( InterruptedException e ) スレッドの停止 th = null; -2-

3 ダブルバッファリング JAVA でアニメーションやゲームを作成した時 画面がちらつく事が有る 此れは 背景を塗り潰してからキャラを描画する迄の間に 何も無い画面が見えて仕舞う事で起こる 其処で 此の背景を塗り潰す作業も含めて一度に一枚の画像と仕て描いて仕舞えばちらつきは無く成る 此の方法を ダブルバッファリング と謂い 貯めて置く画像をオフスクリーンバッファと謂う 先ず 描画画面一杯の大きさの画像を用意する Compornent クラスの createimage メソッドを利用すれば良い 此の画像がオフスクリーンバッファと成る 亦 バッファに描画する為の Graphics オブジェクト ( 以降 グラフィックコンテキスト ) も取得する 此れは バッファの getgraphics メソッドを利用する 然して update メソッドをオーバーライドし 其の儘 paint メソッドに繋ぐ 実は此の update メソッドでは画面を背景色で塗り潰すと謂う作業が行われて居り 其れをオーバーライドする事でちらつきを無くす 次に paint メソッドをオーバーライド仕て バッファを画面に描画する 此の時も無駄な処理をせずに drawimage メソッドを使って座標 ( 0, 0 ) の処にバッファを描く丈で有る 後は run メソッド等でスレッドループ中にバッファに描画し repaint メソッドを呼ぶ wait に依るウェイト Thread クラスの静的メソッドで有る sleep を使用すれば一定時間止める事が出来るが Object クラスの中にも wait と謂うメソッドが有る 此れを使用して一定時間プログラムの実行を止める方法は 下記の通りで有る 1 秒間止め様と単に wait(1000) と記述すると実行時に エラーが発生する 併し 此のメソッドを synchronized 修飾子の中に入れて遣り 下記の様なメソッドを作成すると旨く行く // 指定ミリ秒実行を止めるメソッド public synchronized void sleep ( long msec ) try wait ( msec ); catch ( InterruptedException e ) 此のメソッドを自作のクラスに追加すれば sleep(1000) とする丈で 1 秒間実行を止める事が出来る 而も 単一スレッドなので動作は安定して居り 動作も軽い 併し アプレットでは start メソッドが終了して初めてアプレットが開始される為 start メソッド内では使う事が出来ず 更に 新たにメソッドを呼び出して其処で使用しても start メソッドは終了し無い為 アプレットでは使用する事は出来ない -3-

4 演習 マルチスレッド処理 (1) 下記のコードを テキストエディタで入力し MultiThread.java と謂うファイル名で保存した後 コンパイルして HTML ファイルから呼び出し ブラウザで表示する import java.applet.*; import java.awt.*; public class MultiThread extends Applet implements Runnable Thread th = null; int x = 0; // 表示処理 public void paint( Graphics g ) g.setfont( new Font( "MS 明朝 ", Font.PLAIN, 18 ) ); g.drawstring( " 烏賊の王様 ", x, 50 ); x = x + 5; if ( x > 300 ) x = -100; public void start( ) // スレッド開始 th = new Thread( this ); th.start( ); public void run( ) // スレッド実行処理 while( th!= null ) repaint( ); try Thread.sleep( 100 ); catch( InterruptedException e ) public void stop( ) // スレッド終了 th = null; -4-

5 マルチスレッド処理 (2) 下記のコードを テキストエディタで入力し MoveCircle.java と謂うファイル名で保存した後 コンパイルして HTML ファイルから呼び出し ブラウザで表示する import java.applet.*; import java.awt.*; public class MoveCircle extends Applet implements Runnable public Thread th = null; int x, y; int dx, dy; public void init( ) x = 0; y = 80; dx = 10; dy = 5; public void paint( Graphics g ) g.setcolor( new Color( 255, 0, 0 ) ); g.fillarc( x, y, 30, 30, 0, 360 ); // 此の関数は applet が画面に現れる時に自動で呼ばれるので 此処で アニメーションを開始させる public void start( ) if ( th == null ) th = new Thread( this ); th.start(); // 此れで 自動で関数 run が呼び出される // 此の関数は applet が画面から消える時に自動で呼ばれるので 此処で アニメーションを中断させる public void stop( ) if ( th!= null ) th.stop( ); // アニメーションを止める th = null; -5-

6 // スレッド名 start を実行すると自動で呼び出される ( 此処は 他の処理とは別にマルチタスクで実行される ) public void run( ) while( th.isalive( ) ) x += dx; y += dy; if ( x > size( ).width - 30 x < 0 ) x -= dx; dx *= -1; if ( y > size( ).height - 30 y < 0 ) y -= dy; dy *= -1; repaint( ); // 以下の記述が無いとブラウザが固まる ( 待ち時間は任意 ) try Thread.sleep( 100 ); // 100 ミリ秒待つ catch ( InterruptedException e ) -6-

7 ダブルバッファリング処理 (1) 下記のコードを テキストエディタで入力し DoubleBuffer.java と謂うファイル名で保存した後 コンパイルして HTML ファイルから呼び出し ブラウザで表示する import java.applet.*; import java.awt.*; public class DoubleBuffer extends Applet implements Runnable final static int MAX = 10, SZ = 20; // ボールの最大表示数 ボールのサイズ ( 定数 ) Graphics bg; // バッファのグラフィックコンテキスト Image bf, bk; // バッファ 背景のイメージ Thread th = null; int wm, wt, w, h; int[ ] x, y, m; // ボールの X 座標 Y 座標 移動量 public void init( ) // アプレットの初期化時呼び出される Dimension d = getsize( ); // アプレットサイズ取得 bf = createimage ( w = d.width, h = d.height ); // バッファの作成 bg = bf.getgraphics( ); // バッファ描画用グラフィックコンテキストの取得 makebackimage( ); private void makebackimage( ) // 背景イメージ作成用メソッド Graphics g; bk = createimage ( w, h ); // 背景の作成 g = bk.getgraphics( ); for ( int i = 0; i < h; i++ ) g.setcolor ( new Color ( 0, 0, ( int )( Math.random( ) * 255 ))); g.drawline ( 0, i, w, i ); public void start( ) if ( th == null ) th = new Thread ( this ); th.start( ); public void run( ) x = new int [ MAX ]; y = new int [ MAX ]; // アプレットが表示されると呼び出される // スレッドの生成 // スレッドを開始させ run メソッドを呼び出す // メインルーチン -7-

8 m = new int [ MAX ]; wm = wt = 0; for ( int i = 0; i < MAX; i++ ) x [ i ] = -99; bg.setcolor ( Color.yellow ); // ボールの色設定 try while ( th!= null ) wt++; bg.drawimage ( bk, 0, 0, this ); // 背景イメージでバッファをクリア for ( int i = 0; i < MAX; i++ ) if ( x [ i ] == -99 && wt > wm ) x [ i ] = -SZ; y [ i ] = ( int )( Math.random( ) * ( h - SZ )); m [ i ] = ( int )( Math.random( ) * 7 ) + 2; wt = 0; wm = ( int )( Math.random( ) * 20 ) + 4; else x [ i ] += m [ i ]; if ( x [ i ] > w ) x [ i ] = -99; bg.filloval ( x [ i ], y [ i ], SZ, SZ); // ボールをバッファに描画 repaint( ); // update メソッドを呼び出す th.sleep ( 100 ); // 0.1 秒間スリープ ( ハングアップ防止 ) catch(interruptedexception e) public void update( Graphics g ) paint ( g ); public void paint( Graphics g ) g.drawimage ( bf, 0, 0, this ); public void stop( ) if ( th!= null ) th.stop( ); th = null; // オーバーライド仕て最低限の事丈をする // バッファを画面に描画 // アプレットが画面から消えると呼び出される // スレッドの停止 -8-

9 ダブルバッファリング処理 (2) 下記のコードを テキストエディタで入力し Clock.java と謂うファイル名で保存した後 コンパイルして HTML ファイルから呼び出し ブラウザで表示する import java.applet.*; import java.awt.*; import java.awt.event.*; import java.util.date; public class Clock extends Applet implements Runnable, ActionListener Thread th = null; boolean ts; // サスペンド状態 Button btnsuspend,btnresume; // 停止 再開ボタン Graphics bg; // バッファ描画用グラフィックコンテキスト Image bf; // バッファ用 Dimension d; // アプレットサイズ用 public void init( ) d = getsize( ); // アプレットサイズ取得 bf = createimage( d.width, d.height ); // バッファの作成 bg = bf.getgraphics( ); // バッファ描画用グラフィックコンテキストの取得 bg.setcolor( Color.blue ); bg.setfont( new Font( "TimesRoman", Font.BOLD, 18 ) ); add( btnsuspend = new Button( " 停止 " ) ); add( btnresume = new Button( " 再開 " ) ); btnsuspend.addactionlistener( this ); btnresume.addactionlistener( this ); public void start( ) if( th == null ) th = new Thread( this ); ts = false; th.start( ); repaint( ); public void update( Graphics g ) paint( g ); -9-

10 public void paint( Graphics g ) if ( ts == false ) Date date = new Date( ); bg.clearrect( 0, 0, d.width, d.height ); bg.drawstring( date.tostring( ), 0, 60 ); g.drawimage( bf, 0, 0, this ); public void run( ) Thread thisthread = Thread.currentThread( ); while( thisthread == th ) try th.sleep( 1000 ); if ( ts ) synchronized( this ) while ( ts && thisthread == th ) wait( ); catch( InterruptedException e ) repaint( ); public synchronized void stop( ) th = null; notify( ); public synchronized void actionperformed( ActionEvent e ) if( e.getsource( ) == btnsuspend ) ts = true; else if( e.getsource() == btnresume && ts == true ) ts = false; notify( ); -10-

11 参考 アナログ時計 下記のコードを テキストエディタで入力し AnalogClock.java と謂うファイル名で保存した後 コンパイルして HTML ファイルから呼び出し ブラウザで表示する import java.applet.*; import java.awt.*; import java.util.*; public class AnalogClock extends Applet implements Runnable private Thread th = null; private int cx; private int cy; private static final int HOUR_LENGTH = 50; // 時針の長さ private static final int MINUTE_LENGTH = 70; // 分針の長さ private static final int SECOND_LENGTH = 80; // 秒針の長さ public void init( ) setbackground( new Color( 255, 255, 128) ); Dimension d = getsize( ); cx = (int) d.width / 2; cy = (int) d.height / 2; public void start( ) if ( th == null ) th = new Thread( this ); th.start( ); public void stop( ) th = null; public void run( ) -11-

12 while ( Thread.currentThread( ) == th ) repaint( ); try th.sleep(1000); catch ( InterruptedException e ) public void paint( Graphics g ) // グレゴリウス暦で現在の日時を取得 Calendar cl = new GregorianCalendar( ); cl.settime(new Date( ) ); // 現在の時刻を表示 g.drawstring( cl.get( Calendar.HOUR_OF_DAY ) + ":" + cl.get( Calendar.MINUTE ) + ":" + cl.get( Calendar.SECOND ), 5, 30); // 座標を計算 double sr = Math.PI / 180 * ( cl.get( cl.second ) * ); int sx = (int) ( SECOND_LENGTH * Math.cos( sr ) ); int sy = (int) ( SECOND_LENGTH * Math.sin( sr ) ); double mr = Math.PI / 180 * ( cl.get( cl.minute ) * ); int mx = (int) ( MINUTE_LENGTH * Math.cos( mr ) ); int my = (int) ( MINUTE_LENGTH * Math.sin( mr ) ); double hr = Math.PI / 180 * ( cl.get( cl.hour ) * ); int hx = (int) ( HOUR_LENGTH * Math.cos( hr ) ); int hy = (int) ( HOUR_LENGTH * Math.sin( hr ) ); // 文字盤を表示 g.drawstring( "12", cx-5, cy - SECOND_LENGTH - 5 ); g.drawstring( "3", cx-5 + SECOND_LENGTH + 15, cy + 5 ); g.drawstring( "9", cx-5 - SECOND_LENGTH - 15, cy + 5 ); g.drawstring( "6", cx-5, cy + SECOND_LENGTH + 15 ); // 描画 g.drawline( cx, cy, cx + sx, cy + sy ); g.setcolor( Color.blue ); g.drawline( cx, cy, cx + mx, cy + my ); g.drawline( cx, cy, cx + hx, cy + hy ); -12-

13 3D 立方体の回転 下記のコードを テキストエディタで入力し Cube3D.java と謂うファイル名で保存した後 コンパイルして HTML ファイルから呼び出し ブラウザで表示する 此のアプレットでは マウスでドラッグした方向に 立方体が 回転する 即ち アプレット上で マウスをクリックし 上方にドラッグすると 立方体は 上方に回転する 亦 ドラッグ距離が 大きい程 回転速度も大きく成る import java.applet.applet; import java.awt.graphics; import java.awt.event; public class Cube3D extends Applet implements Runnable public Thread th = null; // 物体の定義 ( 表示する線を3 次元座標で指定 ) double[ ][ ] line3d = -50.0, -50.0, -50.0, 50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, 50.0, -50.0, -50.0, -50.0, -50.0, -50.0, -50.0, 50.0, 50.0, -50.0, -50.0, 50.0, 50.0, -50.0, 50.0, -50.0, -50.0, 50.0, -50.0, 50.0, -50.0, 50.0, -50.0, 50.0, 50.0, -50.0, -50.0, 50.0, -50.0, -50.0, 50.0, 50.0, -50.0, -50.0, 50.0, 50.0, -50.0, 50.0, -50.0, -50.0, 50.0, -50.0, 50.0, 50.0, 50.0, 50.0, 50.0, -50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, -50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, ; double alpha, beta; double d_alpha, d_beta; int mouse_x, mouse_y; public void init( ) alpha = 1.0; beta = 1.0; d_alpha = d_beta = 0.0; public void start( ) if ( th == null ) -13-

14 th = new Thread( this ); th.start( ); public void stop( ) if ( th!= null ) th.stop( ); th = null; public void paint( Graphics g ) int i; int x1, x2, y1, y2; for ( i = 0; i < 12; i++ ) x1 = (int) ( line3d[ i ][ 0 ] * Math.cos( beta ) + line3d[ i ][ 2 ] * Math.sin( beta ) ); y1 = (int) ( line3d[ i ][ 1 ] * Math.cos( alpha ) - ( line3d[ i ][ 2 ] * Math.cos( beta ) - line3d[ i ][ 0 ] * Math.sin( beta ) ) * Math.sin( alpha ) ); x2 = (int) ( line3d[ i ][ 3 ] * Math.cos( beta ) + line3d[ i ][ 5 ] * Math.sin( beta ) ); y2 = (int) ( line3d[ i ][ 4 ] * Math.cos( alpha ) - ( line3d[ i ][ 5 ] * Math.cos( beta ) - line3d[ i ][ 3 ] * Math.sin( beta ) ) * Math.sin( alpha ) ); g.drawline( x , y , x , y ); public void update( Graphics g ) if ( d_alpha!= 0.0 d_beta!= 0.0 ) super.update( g ); -14-

15 public boolean mousedown( Event ev, int x, int y ) d_alpha = d_beta = 0.0; mouse_x = x; mouse_y = y; return true; public boolean mousedrag( Event ev, int x, int y ) d_beta += ( x - mouse_x ) * 0.001; // マウスをドラッグすれば d_alpha += ( y - mouse_y ) * 0.001; // 回転速度を変更 mouse_x = x; mouse_y = y; return true; public void run( ) while( th.isalive( ) ) alpha += d_alpha; beta += d_beta; repaint( ); // 回転速度の分丈 物体を回転させる try Thread.sleep( 50 ); catch ( InterruptedException e ) -15-

16 ウェイト処理 下記のコードを テキストエディタで入力し WaitTimer.java と謂うファイル名で保存した後 コンパイルして 実行する ( 此のプログラムは アプレットでは無い ) import java.awt.*; public class WaitTimer extends Frame long count = 0; public static void main ( String args[ ] ) new WaitTimer( ); public WaitTimer( ) resize ( 140, 50 ); settitle ( "WaitTimer" ); show( ); start( ); private void start( ) while ( true ) count++; repaint( ); sleep ( 1000 ); public synchronized void sleep ( long msec ) try wait ( msec ); catch ( InterruptedException e ) public void paint ( Graphics g ) g.setcolor ( Color.blue ); g.drawstring ( "Count : " + count, 30, 40 ); public boolean handleevent ( Event ev ) if ( ev.id == Event.WINDOW_DESTROY ) dispose( ); System.exit ( 0 ); return super.handleevent ( ev ); // ウインドウサイズを 140x50 に設定 // paint メソッドを呼び出す // 1 秒間止める // 指定ミリ秒実行を止めるメソッド // count の値を表示する // 閉じるボタンがクリックされた -16-

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

表示の更新もそういた作業のひとつに当たる スレッドの使用アニメーション アニメーションやシミュレーションなどは画面の更新が一定のタイミングで行われていく この連続した画面の更新をスレッドを利用して行う しかし paint() メソッドを直接呼び出して表示を更新することはできない その理由 Java 独習第 3 版 13.12 スレッドの使用 13.13 ダブルバッファリング 2006 年 7 月 12 日 ( 水 ) 南慶典 表示の更新もそういた作業のひとつに当たる 13.12 スレッドの使用アニメーション アニメーションやシミュレーションなどは画面の更新が一定のタイミングで行われていく この連続した画面の更新をスレッドを利用して行う しかし paint() メソッドを直接呼び出して表示を更新することはできない

More information

< F2D82518CC282CC D2E6A7464>

< F2D82518CC282CC D2E6A7464> 2 個のさいころ 1. はじめに [Java アプレット ] [Java アプリケーション ] 2 個のさいころを同時に投げたときの目の出方を考えてみましょう この 2 個のさいころをそれぞれ さいころ Ⅰ さいころ Ⅱ とすると その目の出方は順に 1 1 2 1 3 1 4 1 5 1 6 1 1 2 2 2 3 2 4 2 5 2 6 2 1 3 2 3 3 3 4 3 5 3 6 3 1 4

More information

< F2D F B834E2E6A7464>

< F2D F B834E2E6A7464> ランダムウォーク [Java アプレット ] [Java アプレリケーョン ] 1. はじめに 酔っぱらいは前後左右見境なくふらつきます 酔っぱらいは目的地にたどり着こうと歩き回っているうちに何度も同じところに戻って来てしまったりするものです 今 酔っぱらいが数直線上の原点にいるとします 原点を出発して30 回ふらつくとき 30 回目に酔っぱらいがいる位置は 出発点である原点からどれくらい離れてしまっているのでしょうか

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 14 回 第 12 章アプレット 28 8 アプレットとは アプレット : ウェブ上で HTML のソースコードから参照されるプログラム.Web サーバや Web ブラウザ ( アプレットビューア ) から動的にアプレットはダウンロードされる. 289 HelloAp.java アプレットの基本事項 public class HelloAp extends Applet{ public void

More information

< F2D B838A835882CC8CF68EAE2E6A7464>

< F2D B838A835882CC8CF68EAE2E6A7464> ウォーリスの公式 [Java アプレット ] [Java アプリケーション ] 1. はじめに 次のウォーリスの公式を用いて π の近似値を求めてみましょう [ ウォーリスの公式 ] π=2{ 2 2 4 4 6 6 1 3 3 5 5 7 シミュレーションソフト ウォーリスの公式による π の近似 を使って π の近似値が求まる様子を観察してみてください 2.Java アプレット (1) Javaプログラムリスト

More information

< F2D82B682E182F182AF82F12E6A7464>

< F2D82B682E182F182AF82F12E6A7464> 3 人のじゃんけん [Java アプレット ] [Java アプリケーション ] 1. はじめに A 君 B 君 C 君の 3 人でじゃんけんを 1 回するときの勝ち負けを考えてみましょう あいこの場合は A 君 B 君 C 君の順に グー グー グー チョキ チョキ チョキ パー パー パー グー チョキ パー グー パー チョキ チョキ グー パー チョキ パー グー パー グー チョキ パー

More information

< F2D834F838C A815B A CC>

< F2D834F838C A815B A CC> グレゴリー ライプニッツの公式 [Java アプレット ] [Java アプリケーション ] 1. はじめに 次のグレゴリー ライプニッツの公式を用いて π の近似値を求めてみましょう [ グレゴリー ライプニッツの公式 ] π 4 =1-1 3 + 1 5-1 7 + 1 9-1 + 11 シミュレーションソフト グレゴリー ライプニッツの公式による π の近似 を使って π の近似値が求まる様子を観察してみてください

More information

< F2D825282CC947B909482CC A815B83682E6A>

< F2D825282CC947B909482CC A815B83682E6A> 3 の倍数のトランプカード 1. はじめに [Java アプレット ] [Java アプリケーション ] ここにトランプが 1 組あります ジョーカー 2 枚を除いて 52 枚を使います 3 の倍数は スペード クローバ ダイヤ ハートに それぞれ 3 と 6 と 9 と 12 の 4 枚ずつあるので 4 4=16 枚あります この 52 枚のトランプから 1 枚引いたとき そのカードが 3 の倍数である確率を考えます

More information

< F2D89BA8EE882C E6A7464>

< F2D89BA8EE882C E6A7464> 下手な鉄砲も数撃ちゃ当たる!! [Java アプレット ] [Java アプリケーション ] 1. はじめに 鉄砲を10 回撃つと1 回当たる腕前の人が鉄砲を撃ちます 下枠の [ 自動 10 回 ] または [ 自動 50 回 ] または [ 自動 100 回 ] をクリックすると それぞれ10 回 50 回 100 回 実験を繰り返します ただし 1 回の実験につき20 発の鉄砲を発射します シミュレーションソフト

More information

< F2D92DE82E8914B82CC977088D32E6A7464>

< F2D92DE82E8914B82CC977088D32E6A7464> 釣り銭の用意の実験 [Java アプレット ] [Java アプリケーション ] 1. はじめに クラス会などの幹事を務めることはありませんか 幹事になったつもりで考えてみてください 仮に クラス会への参加者人数は 35 人で 会費は 3500 円であるとします また 参加者は 1000 円札 4 枚でお釣りを必要とする人と 1000 円札 3 枚と 500 円玉 1 個でお釣りの要らない人の 2

More information

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C> 2 次関数のグラフの向きと広がり [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 y=ax のグラフについて x の係数 aが正のときと負のときでは グラフにどのような違いがあるでしょうか 2 2 y=ax のグラフについて x の係数 aが正のとき 係数 aの値が大きくなるにつれて グラフの広がりはどうなるでしょうか 2 2 y=ax のグラフについて x の係数

More information

1 JAVA APPLET 実習 1. はじめに Java フォルダに applet フォルダを作成する 2. 実習問題の作成 J01.java public class J01 extends Applet{ public void paint(graphics kaku){ kaku.drawstring("hello World from Java!",60,70); j01.html

More information

< F2D8EA CE909482CC92EA82852E6A7464>

< F2D8EA CE909482CC92EA82852E6A7464> 自然対数の底 e [Java アプレット ] [Java アプリケーション ] 1. はじめに 対数は 17 世紀にネイピアやビュルギといった数学者たちが生み出した関数である 円周率 πと自然対数の底 eとは密接な関係があり どちらも無理数で超越数 ( 整数係数の代数方程式の解にならない実数 ) である 1737 年 オイラーは eが無理数であることを示した 1873 年 フランスの数学者エルミートは

More information

< F2D BCA82CC978E89BA82CC8EC08CB12E6A7464>

< F2D BCA82CC978E89BA82CC8EC08CB12E6A7464> パチンコ玉の落下の実験 [Java アプレット ] [Java アプリケーション ] 1. はじめに 1 個のパチンコ玉が釘に当たって左右に分かれながら落下するとき パチンコ玉はどこに落下するのでしょうか ただし パチンコ玉が釘に当たって左右に分かれるとき その分かれ方は左右半々であるとします パチンコ玉が落下し易い場所はあるのでしょうか それとも どこの場所も同じなのでしょうか シミュレーションソフト

More information

Microsoft PowerPoint prog1_doc2x.pptx

Microsoft PowerPoint prog1_doc2x.pptx アプレット public class extends Applet { public void paint(graphics g) { // アプレット描画 g.drawstring( Hello World, 10, 20 ); page 1 アプレット : 色 public class extends Applet { Color col; // カラークラス int red, grn, blu;

More information

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464>

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464> 2 次関数のグラフの平行移動 [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 y=ax のグラフとy=a(x-b) +c のグラフは 位置は違うけれど 形も広がりも全く同じです 2 2 y=a(x-b) +c のグラフは y=ax のグラフをx 軸方向に ( 右方向に ) +b y 軸方向に ( 上方向に ) +c だけ平行移動したものです 2 シミュレーションソフト

More information

< F2D A839382CC906A2E6A7464>

< F2D A839382CC906A2E6A7464> ビュホンの針 1. はじめに [Java アプレット ] [Java アプリケーション ] ビュホン ( Buffon 1707-1788) は 針を投げて円周率 πを求めることを考えました 平面上に 幅 2aの間隔で 平行線を無数に引いておきます この平面上に長さ2bの針を落とすと この針が平行線と交わる確立 pは p=(2b) (aπ) 1 となります ただし b

More information

Microsoft PowerPoint prog1_doc2.pptx

Microsoft PowerPoint prog1_doc2.pptx 2011 年 12 月 6 日 ( 火 ) プログラミング Ⅰ Java Applet プログラミング 文教大学情報学部経営情報学科堀田敬介 アプレット Applet public class クラス名 extends Applet { public void paint(graphics g) { // アプレット描画 g.drawstring( Hello World, 10, 20); 10

More information

< F2D B825082CC96E291E82E6A7464>

< F2D B825082CC96E291E82E6A7464> 3x+1 の問題 [Java アプレット ] [Java アプリケーション ] 1. はじめに どんな自然数から始めても良いので その数が偶数ならば2で割り 奇数ならば3 倍して1を加えることを繰り返します そうすると どんな自然数から始めても必ず1になるというのはほんとうなのでしょうか 例えば 11から始めると 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 となります

More information

< F2D E E6A7464>

< F2D E E6A7464> ピタゴラス数 [Java アプレット ] [Java アプリケーション ] 1. はじめに 2 2 2 三平方の定理 a +b =c を満たす3つの自然数の組 ( a, b, c) をピタゴラス数と言います ピタゴラス数の最も簡単な例として (3,4,5) がありますね このピタゴラス数を求めるには ピタゴラスの方法とプラトンの方法の2つの方法があります 2 2 ピタゴラス数 (a,b,c) に対して

More information

GUIプログラムⅣ

GUIプログラムⅣ GUI プログラム Ⅳ 画像指定ウィンドウの生成 ファイル名 :awtimage.java import java.awt.*; import java.awt.event.*; public class awtimage extends Frame // コンポーネントクラスの宣言 Button btnbrowse; Label lblcaption7; TextField txtimage; //

More information

< F2D A838B838D96402E6A7464>

< F2D A838B838D96402E6A7464> モンテカルロ法 [Java アプレット ] [Java アプリケーション ] 1. はじめに 一辺の長さが 2 の正方形とそれに内接する半径 1 の円が紙に書かれています この紙の上からたくさんのゴマをばらまきます 正方形の中に入ったゴマの数と そのうちで円の中に入ったゴマの数も数えます さあ このゴマの数からどうやって円周率 π を求めるのでしょうか 一辺の長さ2の正方形の面積は4で

More information

アプレットの作成

アプレットの作成 - 1 - import java.applet.applet; import java.awt.graphics; public class HelloWorld extends Applet { public void init() { resize(150,60) ; public void paint ( Graphics g ) { g.drawstring("hello, world!",

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java 第 3 版 13.9 Applet クラス 13.10 AppletContext インターフェイス 13.11 イメージの使用 Applet クラス 右の図は Applet クラスのスーパークラスの継承関係を示す 上の 4 つのクラスから Applet クラスに状態と動作が継承される java.lang.object Java.awt.Component java.awt.container

More information

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

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 += Safari AppletViewer Web HTML Netscape Web Web 13-1 Applet Web Applet init Web paint Web start Web HTML stop destroy update init Web paint start Web update Event Driven paint Signature Overwriting Overriding

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 10 回ウインドウ型アプリケーション (1) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 前回の課題 (1) ボーダーレイアウト, グリッドレイアウト, パネルを使用して, 電卓風のボタンを実現する BorderLayout で NORTH, CENTER, SOUTH に分割 NORTHにはテキストフィールドを設定 CENTERにはパネルを使って9つのボタンを設定

More information

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

6 p.1 6 Java GUI GUI paintcomponent GUI mouseclicked, keypressed, actionperformed mouseclicked paintcomponent thread, 1 GUI 6.0.2, mutlithread C 6 p.1 6 Java GUI GUI paintcomponent GUI mouseclicked, keypressed, actionperformed mouseclicked paintcomponent 6.0.1 thread, 1 GUI 6.0.2, mutlithread CPU 1 CPU CPU +----+ +----+ +----+ Java 1 CPU 6 p.2

More information

Thread

Thread 14 2013 7 16 14.1....................................... 14 1 14.2 Thread................................... 14 1 14.3............................. 14 5 14.4....................................... 14 10

More information

untitled

untitled Java 1 1 Java 1.1 Java 1.2 Java JavaScript 2 2.1 2.2 2.3 Java VM 3 3.1 3.2 3.3 3.4 4 Java 4.1 Java 4.2 if else 4.3 switch case 4.4 for 4.5 while 4.6 do-while 4.7 break, continue, return 4.8 try-catch-finally

More information

r3.dvi

r3.dvi 00 3 2000.6.10 0 Java ( 7 1 7 1 GSSM 1? 1 1.1 4 4a 4b / / 0 255 HTML X 0 255 16 (0,32,255 #0020FF Java xclock -bg #0020FF xclock ^C (Control C xclock 4c 1 import java.applet.applet; import java.awt.*;

More information

I. (i) Java? (A). 2Apples (B). Vitamin-C (C). Peach21 (D). Pine_Apple (ii) Java? (A). Java (B). Java (C). Java (D). JavaScript Java JavaScript Java (i

I. (i) Java? (A). 2Apples (B). Vitamin-C (C). Peach21 (D). Pine_Apple (ii) Java? (A). Java (B). Java (C). Java (D). JavaScript Java JavaScript Java (i 12 7 27 10:30 12:00 I. I VI II. III. IV. ( a d) V. VI. 80 100 60 : this==null, T == N A ActionListener A addactionlistener C class D actionperformed E ActionEvent G getsource I implements J JApplet K KeyListener

More information

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

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 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 update Event Driven paint Signature Overwriting Overriding

More information

ガイダンス

ガイダンス プログラムの 1 行目に自分の名前を入れること // vm12345 杉崎えり子 情報科学 B 第 14 回課題作成 3 情報科学 B Info2/3 info14 今日のフォルダー作成 情報科学 B 第 14 回課題作成 3 Report14_1.java 1 教科書 資料 過去のプログラムを見ながらで OK 課題 3( 提出 ) ボタンとアニメーション ( 第 13 回 ) を組み合わせて オリ

More information

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

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 try catch Exception Java try catch catch ( Exception e ) { e 16-1 try catch 0 int x = 0; int y = 10 / x; catch ( Exception e ) { System.err.println( " " ); Copyright by Tatsuo Minohara 2004 Rev. C on Dec.

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下を入れること // vm12345 杉崎えり子 情報科学 B 第 14 回課題作成 3 情報科学 B Info2/3 info14 今日のフォルダー作成 情報科学 B 第 14 回課題作成 3 Report14_1.java 1 教科書 資料 過去のプログラムを見ながらで OK 課題 3( 提出 ) ボタンとアニメーション ( 第 13 回 ) を組み合わせて オリ ジナルのウィンドウを作成する

More information

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy オブジェクト指向プログラミング演習 2010/10/27 演習課題 スレッド ( その 2) 同期処理 結果不正 デッドロック 前回のスレッドの演習では 複数のスレッドを実行し 一つのプログラムの中の違う処理を同時に実行し た ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする )

More information

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

I HTML HashMap (i) (ii) :.java import java.net.*; import java.io.*; import java.util.hashmap; public class SimpleStopWatch { public static voi II Java 10 2 12 10:30 12:00 I. I III II. III. IV. ( a d) V. : this==null, T == N A ActionListener C class D actionperformed G getsource I implements K KeyListener J JApplet L addmouselistener M MouseListener

More information

GUIプログラムⅤ

GUIプログラムⅤ GUI プログラム Ⅴ 前回課題の制作例 ファイル名 :awttest.java public class awttest public static void main(string arg[]) //=============================================== // ウィンドウ (Frame クラス ) のインスタンスを生成 //===============================================

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java 第 3 版 13.1 アプレットの概要 13.2 最初の Java アプレット 13.3 アプレットのライフサイクル 13.4 Graphics クラス アプレットの概要 (1/3) Web ページの HTML ソースコードから参照されるプログラム Web サーバーからブラウザに動的にダウンロードされる ダウンロードされたアプレットはブラウザの環境で実行される アプレットビューアなどのツールで実行することもできる

More information

2

2 次の課題 1~7 の を埋めてプログラムを完成させよ 1. 整数型の配列に格納されたデータの総和を計算し, その結果を出力するプログラムである このプログラムの処理手順を次に示す 1 配列の格納するデータの個数 n (n>0) を入力する 2n の大きさで配列を確保する 3 配列に n 個分のデータを格納する 4 配列の総和を求める 5 総和を出力する import java.io.*; public

More information

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

Applet java.lang.object java.awt.component java.awt.container java.awt.panel java.applet.applet 13 Java 13.9 Applet 13.10 AppletContext 13.11 Applet java.lang.object java.awt.component java.awt.container java.awt.panel java.applet.applet Applet (1/2) Component GUI etc Container Applet (2/2) Panel

More information

グラフィックス

グラフィックス グラフィックス PictureBox の Image プロパティに関する良く有る勘違い PictureBox に画像を表示する方法と仕て PictureBox の Image プロパティを使う方法と Graphics の DrawImage メソッドを使う方法が有るが 此の 2 つの方法を混同し 正しく理解して居ない事が多い様で有る 例えば 下記に列挙する様な状況が 此れに該当する 1.PictureBox

More information

問題1 以下に示すプログラムは、次の処理をするプログラムである

問題1 以下に示すプログラムは、次の処理をするプログラムである 問題 1 次のプログラムの出力結果を a~d の中から選べ public class Problem1 { int i=2; int j=3; System.out.println("i"+j); a) 23,b) 5,c) i3,d) ij 問題 2 次のプログラムの出力結果を a~d の中から選べ public class Problem2 { int a=6; if((a>=2)&&(a

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 8 回ウインドウ部品を用いる (1) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 前回の課題 (1) マウスを使って, 前回課題で作成した 6 4 のマスの図形で, \ をマウスクリックによって代わるようにしなさい 前回の課題 (2) import java.applet.applet; import java.awt.*;

More information

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

Java演習(9)   -- クラスとメソッド -- Java (9) Java (9) Java (9) 3 (x, y) x 1 30 10 (0, 50) 1 2 10 10 (width - 10, 80) -2 3 50 10 (width / 2, 110) 2 width 3 (RectMove4-1.java) import javax.swing.japplet; import javax.swing.timer; import java.awt.graphics;

More information

:30 12:00 I. I VII II. III. IV. ( a d) V. VI : this==null, T == N A ActionListener A addactionlistener C class D actionperforme

:30 12:00 I. I VII II. III. IV. ( a d) V. VI : this==null, T == N A ActionListener A addactionlistener C class D actionperforme 2014 8 01 10:30 12:00 I. I VII II. III. IV. ( a d) V. VI. 80 100 60 : this==null, T == N A ActionListener A addactionlistener C class D actionperformed E ActionEvent G getsource I implements J JApplet

More information

II Java :30 12:00 I. I IV II. III. IV. ( a d) V. : this==null, T == N A ActionListener C class D actionperformed G getsource I implements K

II Java :30 12:00 I. I IV II. III. IV. ( a d) V. : this==null, T == N A ActionListener C class D actionperformed G getsource I implements K II Java 09 2 13 10:30 12:00 I. I IV II. III. IV. ( a d) V. : this==null, T == N A ActionListener C class D actionperformed G getsource I implements K KeyListener J JApplet L addmouselistener M MouseListener

More information

問題1 以下に示すプログラムは、次の処理をするプログラムである

問題1 以下に示すプログラムは、次の処理をするプログラムである 問題 1 次に示すプログラムは 配列 a の値を乱数で設定し 配列 a の値が 333 より大きく 667 以下の値 の合計値を求めるプログラムである 1 と 2 に適切なコードを記述してプログラムを完 成させよ class TotalNumber { public static void main(string[] args) { int[] a = new int[1000]; // 1 解答条件

More information

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

Chapter 20. [ ] ; [ ] = new [ ] ; Color colors [ ] = new Color[ 20 ]; // 20 Button operations [ ] = new Button[ 10 ]; // 10 colors[ 3 ] = new Color( 1 Chapter 20. [ ] ; [ ] = new [ ] ; Color colors [ ] = new Color[ 20 ]; // 20 Button operations [ ] = new Button[ 10 ]; // 10 colors[ 3 ] = new Color( 10, 30, 40 ); gc.setcolor( colors[ 3 ] ); operations[

More information

アプレットⅠ

アプレットⅠ アプレット Ⅰ 今回の課題項目 アプレット ( アプレットの作成 コーディング コンパイル 実行 ) アプレット ( グラフィックス表示 文字の描画 グラフィックスの描画 ) アプレット ( 各種グラフィックスメソッド ) 今回の重点項目 アプレット ( アプレットの作成 ) アプレット ( グラフィックス表示 ) アプレット ( グラフィックスメソッド ) -1- アプレット Java はオブジェクト指向型のプログラム言語で有る

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

例外(exception)とは何か

例外(exception)とは何か 第 1 週導入 マルチスレッドとは何か スレッドのライフサイクル クラスThreadのメソッド スレッドの作り方基本の使い方サンプル 演習 1 課題 1 スレッドとは何か (1) スレッド (thread): もともとは 糸 という意味 プログラムの実行単位のこと スレッドはプログラムの一部の機能を実行する 今まで作成したプログラムは処理を 1 つ 1 つ順番に実行していた シングルスレッド ( 仮に

More information

:30 12:00 I. I VII II. III. IV. ( a d) V. VI : this==null, T == N A ActionListener A addactionlistener C class D actionperformed

:30 12:00 I. I VII II. III. IV. ( a d) V. VI : this==null, T == N A ActionListener A addactionlistener C class D actionperformed 11 7 29 10:30 12:00 I. I VII II. III. IV. ( a d) V. VI. 80 100 60 : this==null, T == N A ActionListener A addactionlistener C class D actionperformed E ActionEvent G getsource I implements J JApplet K

More information

r2.dvi

r2.dvi 2002 2 2003.1.29 1 2.1-2.3 (1) (2) 2.4-2.6 (1)OO (2)OO / 2.7-2.10 (1)UML (2) Java 3.1-3.3 (1) (2)GoF (3)WebSphere (4) 3.4-3.5 3.6-3.9 Java (?) 2/12( ) 20:00 2 (2 ) 3 Java (?)1 java.awt.frame Frame 1 import

More information

I. java.awt.rectangle java.lang.math random Java TM API java.awt Rectangle Rectangle (x,y)... public int x Rectangle X public int y Rectangle Y public

I. java.awt.rectangle java.lang.math random Java TM API java.awt Rectangle Rectangle (x,y)... public int x Rectangle X public int y Rectangle Y public 2018 08 03 10:30 12:00 I. IV III II. III. IV. ( a d) V. VI. 70 III 30 100 60 : A ActionListener aa addactionlistener AE ActionEvent K KeyListener ak addkeylistener KE KeyEvent M MouseListener am addmouselistener

More information

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

Java演習(4)   -- 変数と型 -- 50 20 20 5 (20, 20) O 50 100 150 200 250 300 350 x (reserved 50 100 y 50 20 20 5 (20, 20) (1)(Blocks1.java) import javax.swing.japplet; import java.awt.graphics; (reserved public class Blocks1 extends

More information

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

シミュレーションの簡単な例 GUI 無しのシミュレーションを作る GUI を作る パラメタを設定するデモンストレーションをする 2 オブジェクト指向プログラミング特論 例 : 簡単な酔歩シミュレーション 1 オブジェクト指向プログラミング特論 シミュレーションの簡単な例 GUI 無しのシミュレーションを作る GUI を作る パラメタを設定するデモンストレーションをする 2 オブジェクト指向プログラミング特論 簡単な二次元酔歩 Walker は二次元面内で 4 方向に等確率で移動 メソッド move で移動し 新しい位置を返す Simulation クラス 多数の

More information

I. (i) Java? (A). Foo_Bar (B). G day (C). 999 (D). Golgo13 (ii)? (A). Java public (B). Java (C). Java JavaScript (D). Java C Java C (iii)? (A). Java (

I. (i) Java? (A). Foo_Bar (B). G day (C). 999 (D). Golgo13 (ii)? (A). Java public (B). Java (C). Java JavaScript (D). Java C Java C (iii)? (A). Java ( 2016 07 29 10:30 12:00 I. I V II. III. IV. ( a d) V. VI. 80 100 60 : A ActionListener aa addactionlistener AE ActionEvent K KeyListener ak addkeylistener KE KeyEvent M MouseListener am addmouselistener

More information

:30 12:00 I. I VII II. III. IV. ( a d) V. VI : this==null, T == N A ActionListener A addactionlistener C class D actionperforme

:30 12:00 I. I VII II. III. IV. ( a d) V. VI : this==null, T == N A ActionListener A addactionlistener C class D actionperforme 2015 7 31 10:30 12:00 I. I VII II. III. IV. ( a d) V. VI. 80 100 60 : this==null, T == N A ActionListener A addactionlistener C class D actionperformed E ActionEvent G getsource I implements J JApplet

More information

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

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt) 独習 Java 第 3 版 14.1 代行イベントモデル 14.2 イベントクラス 14.3 イベントリスナ 14.1 代行イベントモデル (1/3) アプレットは GUI を提供する GUI ベースのプログラムはイベントドリブンであり コンソールアプリケーションはイベントドリブンでない イベントドリブンとは ユーザや他のプログラムが実行した操作 ( イベント ) に対応して処理を行なうプログラムの実行形式

More information

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

教材ドットコムオリジナル教材 0から始めるiアフ リ リファレンス i アプリ簡易リファレンス ver i アプリ Java 独自のメソッド (1)iアプリの命令を使えるようにする import com.nttdocomo.ui.*; (2) 乱数を使う import java.u i アプリ簡易リファレンス ver0.1.5.1 1.i アプリ Java 独自のメソッド (1)iアプリの命令を使えるようにする import com.nttdocomo.ui.*; (2) 乱数を使う import java.util.random; int ; Random =new Random(); =Math.abs(.nextInt()% ); 0~ まで乱数を発生させます (3) 機種ごとの縦横幅を調べる

More information

r4.dvi

r4.dvi 00 4 2000.6.24 0 GUI GUI GUI GUI 1 1.1 3 2 1 import java.applet.applet; import java.awt.*; public class r3ex2 extends Applet { Figure[] figs = new Figure[]{ new Circle(Color.blue, 100.0, 100.0, 30.0, 1.1,

More information

アプレットⅣ

アプレットⅣ アプレット Ⅳ JV4 今回の課題項目 アプレット ( イベント処理 イベントリスナ ) アプレット ( イベントリスナクラスの作成 ) アプレット ( イベントリスナの登録 ) アプレット ( イベント発生時の処理 ) アプレット ( イベントの各種実装方法 ) アプレット ( イベントアダプタ ) アプレット ( 委譲モデル ) 今回の重点項目 アプレット ( イベントリスナ ) アプレット (

More information

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

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料 10/28 Java AWT の基本構造 (Frame クラスの継承 ) 演習課題資料以下のプログラムを完成せよ 共通課題 1.Frame を生成するプログラム // Frame クラスを継承して 終了ボタンのみを定義した クラスの定義 class WhiteWindow 1 { // Frame クラスの継承をする (Frame クラスの拡張 ) WhiteWindow (String title){

More information

vol.30.}...`.X...b.h

vol.30.}...`.X...b.h Manabu Nakamura mondo@its.hiroshima-cu.ac.jp q w e e e for (int i = 0; i < N; i++) { calculators[i] = new Calculator(); calculators[i].run(); 70 JAVA PRESS Vol.30 import java.math.biginteger; public class

More information

IT プロジェクト

IT プロジェクト オブジェクト指向設計による卓球 ゲームの試作 (2) 劉少英 情報科学部コンピュータ科学科 Email:sliu@hosei.ac.jp ホームページ : http://cis.k.hosei.ac.jp/~sliu/ 講義内容 1. 卓球ボールをテーブルの上に移動させる 2. 関連しているクラスにメソッドを加える 3. プログラムの文書化技術 1. 卓球ボールをテーブルの上に 移動させる 8 9

More information

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

KeyListener init addkeylistener addactionlistener addkeylistener addkeylistener( this ); this.addkeylistener( this ); KeyListener public void keytyped KeyListener keypressed(keyevent e) keyreleased(keyevent e) keytyped(keyevent e) MouseListener mouseclicked(mouseevent e) mousepressed(mouseevent e) mousereleased(mouseevent e) mouseentered(mouseevent e)

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

text_13.dvi

text_13.dvi C 13 2000 7 9 13 Java(8) { Swing(2)(, ) 1 13.1 13 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 13.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

More information

Microsoft PowerPoint - prog10.ppt

Microsoft PowerPoint - prog10.ppt プログラミング言語 3 第 10 回 (2007 年 12 月 03 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/40 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 12 月 03 日分と書いてある部分が 本日の教材です

More information

Microsoft PowerPoint - prog10.ppt

Microsoft PowerPoint - prog10.ppt プログラミング言語 3 第 10 回 (2007 年 12 月 03 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/40 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 12 月 03 日分と書いてある部分が 本日の教材です

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

Microsoft PowerPoint - prog11.ppt

Microsoft PowerPoint - prog11.ppt プログラミング言語 3 第 11 回 (2007 年 12 月 10 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 12 月 10 日分と書いてある部分が 本日の教材です

More information

:30 12:00 I. I VII II. III. IV. ( a d) V. VI : this==null, T == N A ActionListener A addactionlistener C class D actionperformed

:30 12:00 I. I VII II. III. IV. ( a d) V. VI : this==null, T == N A ActionListener A addactionlistener C class D actionperformed 10 7 30 10:30 12:00 I. I VII II. III. IV. ( a d) V. VI. 80 100 60 : this==null, T == N A ActionListener A addactionlistener C class D actionperformed E ActionEvent G getsource I implements J JApplet K

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウを作成をしたい

More information

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

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 2018 06 08 11:00 12:00 I. I III II. III. IV. ( a d) V. VI. 80 40 40 100 60 : A ActionListener aa addactionlistener AE ActionEvent K KeyListener ak addkeylistener KE KeyEvent M MouseListener am addmouselistener

More information

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

以下に java.awt.graphics クラスの主なメソッドを示す (Graphics クラスの ) メソッド drawline(int x1, int y1, int x2, int y2) drawrect(int x, int y, int width, int height) fillr 第 5 章グラフィックス, スレッドとマウスイベントによる描画処理 描画処理およびマルチスレッドの基礎についてそれぞれ理解し,Java を用いてイベント処理を組み合わせたプログラムを作成する 5.1 描画処理 最初に, パネル上にグラフィックス描画を行う方法について説明する グラフィックスを表示するにはフレームにパネルを配置し, 処理内容を paintcomponent メソッド内に記述する paintcomponent

More information

GUIプログラムⅡ

GUIプログラムⅡ GUI プログラム Ⅱ 前回課題の制作例 ファイル名 :awtsave.java import java.awt.*; import java.awt.event.*; public class awtsave extends Frame // Button クラスの宣言 Button btnsave; Label lblcaption1, lblcaption2, lblcaption3; Label

More information

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

19 3!! (+) (>) (++) (+=) for while 3.1!! (20, 20) (1)(Blocks1.java) import javax.swing.japplet; import java.awt.graphics; 19 3!!...... (+) (>) (++) (+=) for while 3.1!! 3.1.1 50 20 20 5 (20, 20) 3.1.1 (1)(Blocks1.java) public class Blocks1 extends JApplet { public void paint(graphics g){ 5 g.drawrect( 20, 20, 50, 20); g.drawrect(

More information

Microsoft PowerPoint - prog11.ppt

Microsoft PowerPoint - prog11.ppt プログラミング言語 3 第 11 回 (2007 年 12 月 10 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 12 月 10 日分と書いてある部分が 本日の教材です

More information

PowerPoint Presentation

PowerPoint Presentation ソフトウェア演習 B GUI を持つ Java プログラムの 設計と実装 4.1 例題 :GUI を持った電卓を作ろう プロジェクトCalculator パッケージ名 :example ソースファイル : Calculator.java GUI.java EventProcessor.java 2 4.2 GUI とイベント処理 GUI の構成 :Swing GUI の場合 フレーム JFrame:

More information

Programming-C-9.key

Programming-C-9.key プログラミングC 第9回 例外 スレッド 白石路雄 2 finally try{ ( 例外が発生するかもしれない処理 ) catch(exception のクラス名 e){ ( 例外が発生した時の処理 ) finally{ ( 例外の発生の有無に関わらず 必ず行う処理 ) 3 Integer.parseInt() NumberFormatException

More information

JAVA入門

JAVA入門 JAVA 入 門 後 期 3 JAVAのGUI (JavaのGUI 基 本 構 造 いろいろなアプレット) 1.GUI 構 造 GUI 構 造 JAVAでGUIを 構 築 するクラスとして 下 記 のがあります 1アプレットパッケージ 2AWT 3Swing 特 に2 3はコンポーネント パッケージを 利 用 1アプレット 概 要 特 徴 GUI 構 造 1. 最 初 から GUI 環 境 が 用

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 11 回ウインドウ型アプリケーション (2) 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp メニュー (1) メニューを組み込むときには,MenuBar オブジェクトに Menu オブジェクトを登録し, その Menu オブジェクトに MenuItem オブジェクトを登録する 2 つの Menu オブジェクト File New

More information

ICONファイルフォーマット

ICONファイルフォーマット グラフィックス 画像フォーマットエンコーダパラメータ 様々なフォーマットで画像を保存 Bitmap クラスを用いる事でビットマップ JPEG GIF PNG 等様々なフォーマットの画像を読み込み操作する事が出来る 更に Bitmap クラスや Graphics コンテナを用いて描画処理等を施したイメージをファイルに保存する事も出来る 此の時 読み込めるフォーマット同様に保存するフォーマットを選択する事が出来る

More information

<4D F736F F F696E74202D AC C8899E D834F E >

<4D F736F F F696E74202D AC C8899E D834F E > Java 簡単な応用プログラム ( その 2) Java は すでにある部品群を上手く使ってプログラムを組み立てます 前回と同様に Frame を使って ウインドウを表示するプログラムを作りましょう. Frameは ウインドウを作るための部品で フレーム ( 枠 ) とタイトルおよび, 決められた仕組みが入っています. java.awt パッケージは, ウインドウ関連の部品が多くあります. javax.swing

More information

226

226 226 227 Main ClientThread Request Channel WorkerThread Channel startworkers takerequest requestqueue threadpool WorkerThread channel run Request tostring execute name number ClientThread channel random

More information

:30 12:00 I. I V II. III. IV. ( a d) V. VI : A ActionListener aa addactionlistener AE ActionEvent K KeyListener ak addkeyliste

:30 12:00 I. I V II. III. IV. ( a d) V. VI : A ActionListener aa addactionlistener AE ActionEvent K KeyListener ak addkeyliste 2017 07 28 10:30 12:00 I. I V II. III. IV. ( a d) V. VI. 80 100 60 : A ActionListener aa addactionlistener AE ActionEvent K KeyListener ak addkeylistener KE KeyEvent M MouseListener am addmouselistener

More information

新・明解Java入門

新・明解Java入門 537,... 224,... 224,... 32, 35,... 188, 216, 312 -... 38 -... 38 --... 102 --... 103 -=... 111 -classpath... 379 '... 106, 474!... 57, 97!=... 56 "... 14, 476 %... 38 %=... 111 &... 240, 247 &&... 66,

More information

2

2 問題 1 次の設問 1,2 に答えよ 設問 1 1 から 10 まで数えながら その数が偶数か奇数かを表示する JAVA プログラムの一部である 空欄に入るべき文字列は何か for( int i=1; 1 ; i++){ System.out.print(i); if( 2 == 0){ System.out.println(" is Even"); else{ System.out.println("

More information

VB.NET解説

VB.NET解説 Visual Basic.NET 印刷編 目次 印刷の概要... 2 印刷の流れ... 2 標準の Windows フォーム印刷ジョブの作成... 3 実行時に於ける Windows フォーム印刷オプションの変更... 3 Windows フォームに於ける接続されたプリンタの選択... 4 Windows フォームでのグラフィックスの印刷... 5 Windows フォームでのテキストの印刷...

More information

B02-095 2007 2 15 1 3 2 4 2.1............................. 4 2.2........................................ 5 2.3........................................ 6 3 7 3.1................................. 7 3.2..............................

More information

Java知識テスト問題

Java知識テスト問題 Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください

More information

ルーレットプログラム

ルーレットプログラム ルーレットプログラム VB 2005 4 プログラムの概要 カジノの代表的なゲーム ルーレット を作成する 先ず GO! ボタンをクリックすると ルーレット盤上をボールが回転し 一定時間経過すると ボールが止まり 出目を表示するプログラムを作成する 出目を 1~16 大小 偶数奇数の内から予想して 予め設定した持ち点の範囲内で賭け点を決め 賭け点と出目に依り 1 点賭けの場合は 16 倍 其他は 2

More information

r2.dvi

r2.dvi 2 /Fitzz 2012.10.16 1 Reading 1.1 HCI bit ( ) HCI ( ) ( ) ( ) HCI ( ) HCI ( ) ^_^; 1 1.2,,!,, 2000 1.3 D. A.,,?,, 1990 1? 1 (interface) ( ) ( / ) (User Interface, UI) 2 :? import java.awt.*; import java.awt.event.*;

More information

参考 - メインスレッドは JVM によって自動的に起動されるため 起動するコードを書く必要 はありません 今まで例題 演習で作成してきたプログラムは全てメインメソッドにて 動作している シングルスレッドです マルチスレッドマルチスレッドとは名前のとおり複数のスレッドと言う意味です マルチスレッドは

参考 - メインスレッドは JVM によって自動的に起動されるため 起動するコードを書く必要 はありません 今まで例題 演習で作成してきたプログラムは全てメインメソッドにて 動作している シングルスレッドです マルチスレッドマルチスレッドとは名前のとおり複数のスレッドと言う意味です マルチスレッドは 01 Android アプリケーションとマルチスレッド Android アプリケーションの中で ユーザーからのキー入力と それに応答した画面の描画 ( 動きのある画面 ) を伴うようなものを作成する場合には 今まで学んだ基礎的なウイジェットの知識に加えて Java の Thread クラスを利用した仕組みが必要不可欠になります この理由を簡単に記すと以下のようになります 今まで記してきた基礎的なアプリケーションは

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 11 回目スレッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) スレッドは 1 つの実行箇所をもつ一連の処理の流れである (2) マルチスレッドで各スレッドの処理は並行して実行される (3) Java はマルチスレッド処理を記述できない (4) 新たにスレッドを生成する場合 Thread クラスを拡張し かつ Runnable インタフェースを実装する必要がある

More information

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

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 2 p.1 2 Java Java JDK Sun Microsystems JDK javac Java java JVM appletviewer IDESun Microsystems NetBeans, IBM 1 Eclipse 2 IDE GUI JDK Java 2.1 Hello World! 2.1.1 Java 2.1.1 Hello World Emacs Hello0.java

More information

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

Javaセキュアコーディングセミナー2013東京第1回 演習の解説 Java セキュアコーディングセミナー東京 第 1 回オブジェクトの生成とセキュリティ 演習の解説 2012 年 9 月 9 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 演習 [1] 2 演習 [1] class Dog { public static void bark() { System.out.print("woof"); class Bulldog

More information