<4D F736F F F696E74202D AC C8899E D834F E >

Similar documents
ガイダンス

ガイダンス

Prog2_11th

Microsoft PowerPoint - OOP.pptx

Prog1_12th

ガイダンス

Microsoft PowerPoint - prog10.ppt

Java言語 第1回

Microsoft PowerPoint - prog10.ppt

Prog1_12th

Microsoft PowerPoint ppt

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464>

Java言語 第1回

PowerPoint Presentation

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

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

Microsoft PowerPoint prog1_doc2x.pptx

PowerPoint プレゼンテーション

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

問1

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

< F2D B825082CC96E291E82E6A7464>

Microsoft PowerPoint prog1_doc2.pptx

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

ガイダンス

JAVA入門

< F2D E E6A7464>

ガイダンス

Java言語 第1回

GUIプログラムⅣ

Java言語 第1回

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

text_13.dvi

PowerPoint プレゼンテーション

ToDo: 今回のタイトル

< F2D A838B838D96402E6A7464>

< F2D89BA8EE882C E6A7464>

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

Java 2 - Lesson01

text_12.dvi

< F2D B838A835882CC8CF68EAE2E6A7464>

Microsoft PowerPoint - prog13.ppt

Microsoft PowerPoint - prog13.ppt

PowerPoint プレゼンテーション

< F2D834F838C A815B A CC>

// ステージを設定します stage.setscene(scene); stage.settitle(" キャンバス "); // ステージを表示します stage.show(); public static void main(string[] args) launch(args); キャンバス

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

< F2D A839382CC906A2E6A7464>

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

piyo0702a.rtfd

第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

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

PowerPoint プレゼンテーション

ウィンドウの構成ウィンドウはタイトルバーとウィンドウ枠からなります タイトルバーには最小化 / 最大化ボタンや閉じるボタンがあります また ウィンドウはクライアント領域をもちます クライアント領域にはボタンなど GUI 部品が配置されます GUI 部品配置 ( レイアウト ) ウィンドウ ( ステー

< F2D F B834E2E6A7464>

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

Graphical User Interface 描画する

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

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

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

< F2D8EA CE909482CC92EA82852E6A7464>

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

Prog2_9th

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

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

Microsoft PowerPoint - swing3.ppt

< F2D82518CC282CC D2E6A7464>

Microsoft PowerPoint - OOP.pptx

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.

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

< F2D82B682E182F182AF82F12E6A7464>

Microsoft PowerPoint - lec06 [互換モード]

2

Microsoft PowerPoint ppt

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

untitled

Microsoft PowerPoint - swing2.ppt

< F2D825282CC947B909482CC A815B83682E6A>

Microsoft PowerPoint - prog11.ppt

PowerPoint Presentation

Microsoft Word - Java3.DOC

Microsoft PowerPoint ppt

Javaプログラムの実行手順

JAVA入門

PowerPoint プレゼンテーション

r2.dvi

< F2D92DE82E8914B82CC977088D32E6A7464>

PowerPoint プレゼンテーション

Microsoft Word 年度情報コミュニケーション実験II(Ver0.9)c.docx

Java言語 第1回

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

JavaプログラミングⅠ

Microsoft PowerPoint - prog03.ppt

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

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

public class Kadai _02 { public static void main(string[] args) { MyFrame frame = new MyFrame("Kadai _02"); (2) フレームのクラス名は MyFrame とし 以下

JavaプログラミングⅠ

GEC-Java

Transcription:

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

2. ウィンドウの中でマウスがクリックされたところに長方形を書くプログラム このプログラムは 先週のプログラムに次の3 点を加えます 1. マウスがクリックされる イベント処理にマウスアダプタを加える 2. イベントが発生したら ウインドウに長方形を描け と指示する 3. マウスアダプタを作成し登録する マウスアダプタ (MouseAdapter) クラスが用意され これを継承したOurMouseAdapterクラスを作る Class OurMouseAdapter extends MouseAdapter; そこで MouseClicked メソッドを自分用に書き換える ( オーバーライド ) 1マウスをクリックした場所の x, y 座標を取る. ( x,y は int ) x = e.getx( ); y = e.gety( ); Graphics g = getgraphics( ); // 2 図形を描くオブジェクトを作り g とする. g.setcolor(color.red); // 3 図形の色は赤 g.fillrect(x-30,y-20,60,40); //4マウスをクリックした場所を中心として長方形を描いて塗りつぶす System.out.println( 長方形を描いた ); 0 X x X 軸 X=x-30, Y=y-30 何度でも長方形を描くことが出来る. また終了ボタンでウインドウが閉じる. Y y Y 軸 60 40 2. ウィンドウの中でマウスがクリックされたところに長方形を書くプログラム Frameを使った場合 Main.java と MakeFrame パッケージ名 :framep2 Mainクラス ( 前と同様 ) package framep2; public class Main{ public static void main(string[] args){ MakeFrame f = new MakeFrame(); f.setvisible(true); System.out.println("Frame2 を作りました "); MakeFrameクラスのコピーを f として作ります オブジェクト f を見えるようにします コンソールに Frame を作ったと表示します

MakeFrame クラス awt と呼ばれる部品群を使います Package framep2; import java.awt.*; MakeFrameクラスをFrameのサブクラスとして定義 import java.awt.event.*; コンストラクタ : MakeFrameクラスのインスタンスが作られた時に起動 class MakeFrame extends Frame{ public MakeFrame(){ ウインドウ範囲 setsize(400,400); タイトル settitle( (" マウスをクリックして長方形を作る "); Window アダプタのコピーを作り, OWA とする OurWindowAdapter Owa = new OurWindowAdapter(); addwindowlistener(owa); Windowにリスナをつけ, イベントを聞けるようにする OurMouseAdapter Oma = new OurMouseAdapter(); マウスアダプタのコピーを作り, Oma とする addmouselistener(oma); マウスアダプタにリスナーをつけ, イベントを聞けるようにする class OurWindowAdapter extends WindowAdapter{ public void windowclosing(windowevent e){ Windowアダプタクラスの定義 System.out.println("Frame2 をクローズしました "); System.exit(0); マウスアダプタクラスの定義 マウスがクリックされた時の動作の定義 class OurMouseAdapter extends MouseAdapter{ マウスのx 座標を取り変数 x に代入 public void mouseclicked(mouseevent e){ int x, y; マウスのy 座標を取り変数 y に代入 x = e.getx(); Frameに図形を描くためGraphic オブジェクトを作成 y = e.gety(); し g とします Graphics g = getgraphics(); g.setcolor(color.red); 図形の色を赤とします g.fillrect(x-30, y-20, 60, 40); 長方形を描いて中を塗りつぶします System.out.println(" 長方形を描いた "); g.dispose(); オブジェクト g をメモリから消滅させます Graphicsクラスの主なメソッド drawstring(string str,int x, int y); // str : 文字列 x,y: 最初の文字の位置 ( 座標 ) drawline(int x1,int y1,int x2,int y2); // 座標 (x1,y1) から (x2,y2) まで直線を引く drawrect(int xintyintwidth x,int y,int width,intint height); //(xy) //(x,y) を始点に width,heightheight の長方形を描く fillrect(int x,int y,int width,int height); //drawrectと同じ 長方形の中が塗りつぶされる drawoval(int x,int y,int width,int height); // 楕円を描く (x,y) 楕円がぴったり収まる長方形の左上隅 fillovel(int x,int y,int width,int height); // drawovalと同じ ただし楕円の中が塗りつぶされる 描画カラー黒青緑水色赤紫黄色白明るい灰色灰色暗い灰色桃色橙色 文字変数 Color.black Color.blue Color.green Color.cyan Color.red Color.magenda Color.yellow Color.white Color.lightgray Color.gray Color.darkgray Color.pink Color.orange

2. ウィンドウの中でマウスがクリックされたところに長方形を書くプログラムを jframe で作ってみましょう パッケージ名 :jframe2 ( 前と同様 ) package jframe2; public class Main { public static void main(string[] args) { MakeJFrame jf = new MakeJFrame(); MakeJFrameクラスのコピーを jf として作ります jf.setvisible(true); System.out.println("JFrame1 を作りました "); インスタンスjfを見えるようにしますコンソールに Jframeを作ったと表示します MakeJFrame クラス package jframe2; import java.awt.event.*; awt import java.awt.*; import javax.swing.*; public class MakeJFrame extends JFrame{ public MakeJFrame(){ setsize(400,400); settitle(" マウスをクリックして長方形を作る "); OurMouseAdapter Oma = new OurMouseAdapter(); addmouselistener(oma); setdefaultcloseoperation(jframe.exit_on_close); class OurMouseAdapter extends MouseAdapter{ public void mouseclicked(mouseevent e){ int x, y; x = e.getx(); y = e.gety(); Graphics g = getgraphics(); g.setcolor(color.red); g.fillrect(x-30, y-20 20, 60, 40); System.out.println(" 長方形を描いた "); g.dispose(); MakeJFrameクラスをJFrameのサブクラスとして定義します コンストラクタ : MakeJFrame クラスのオブジェクトが作られた時に起動 マウスアダプタのコピーを作り, Oma とする マウスアダプタにリスナーをつけ, イベントを聞けるようにする Windowを閉じる処理マウスアダプタクラスの定義 マウスクリック時の動作定義 マウスの x 座標を取り変数 x に代入 マウスの y 座標を取り変数 y に代入 Frame に図形を描くため Graphic オブジェクトを作成し g とします 図形の色を赤とします 長方形を描いて中を塗りつぶします オブジェクト g をメモリから消滅させます

前回のプログラム (1) を JFrame で作ってみましょう Main.java と MakeJFrame パッケージ名 :jframe1 Mainクラス package jframe1; public class Main { public static void main(string[] args) { MakeJFrame jf = new MakeJFrame(); jf.setvisible(true); System.out.println("JFrame1 を作りました "); します MakeJFrameクラスのコピーを jf として作ります インスタンス jf を見えるようにします コンソールに Jframe を作ったと表示します MakeJFrame クラス package jframe1; import java.awt.*; import javax.swing.*; public class MakeJFrame extends JFrame{ public MakeJFrame(){ settitle(" 都立産業技術高専情報通信工学コース JFrame1"); setsize(400,200); JLabel label1 = new JLabel("Java のプログラムを作りましょう ", JLabel.CENTER); Container cont = getcontentpane(); cont.add(label1); awt と呼ばれる部品群を使います swing と呼ばれる部品群を使います MakeJFrame クラスを JFrame のサブクラスとして定義します コンストラクタ : MakeJFrame クラスのオブジェクトが作られた時に起動 タイトルウインドウの範囲 ラベル label1 label1 を cont に加えます 横の中央に配置 コンテナ のコピーを cont として作ります setdefaultcloseoperation(jframe.exit_on_close); MakeJFrame を閉じます

1_2: 背景色を赤にする場合は 少し面倒です Main.javaと MakeJFrame パッケージ名 :jframe1_2 ( 前と同じ ) package jframe1_2; public class Main { public static void main(string[] args) { MakeJFrame jf = new MakeJFrame(); MakeJFrame クラスのコピーを jf として作ります jf.setvisible(true); System.out.println("JFrame1 を作りました "); インスタンス jf を見えるようにします コンソールに Jframe を作ったと表示します Javaの実践 MakeJFrameクラス package jframe1_2; import java.awt.*; import javax.swing.*; public class MakeJFrame extends JFrame{ public MakeJFrame(){ settitle( 産技高専情報通信工学コース JFrame1"); setsize(400,200); JPanel p = new JPanel(); p.setbackground(color.red); JLabel label1 = new JLabel("Javaのプログラムを作りましょう "); label1.setpreferredsize(new Dimension(400,200)); label1.sethorizontalalignment(jlabel.center); label1.setverticalalignment(jlabel.center); p.add(label1); label1をパネルpに付ける Container cont = getcontentpane(); cont.add(p); setdefaultcloseoperation(jframe.exit_on_close); awt と呼ばれる部品群を使います swingと呼ばれる部品群を使います MakeJFrameクラスをJFrame のサブクラスとして定義します コンストラクタ : MakeJFrameクラスのオブジェクトが作られた時に起動タイトルウインドウ範囲パネルの設定パネルに背景色を赤にする ラベル label1 ラベル label1を置くスペースス label1を縦の中央に置く Label1を横の中央に置く コンテナのコピーを cont として作ります パネル p をコンテナーに加える MakeJFrame を閉じます