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

Similar documents
2

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

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

ソフトウェア基礎演習 課題

public class MyFrame { private JPanel panel1; private JPanel panel2; private JPanel panel3; private JPanel panel4; private JLabel label1; private JTex

PowerPoint Presentation

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

ガイダンス

ガイダンス

Microsoft PowerPoint - swing2.ppt

問1

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

ガイダンス

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

ガイダンス

Microsoft PowerPoint - swing3.ppt

ガイダンス

Java言語 第1回

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

2008 e-learning T050050

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

Microsoft PowerPoint prog1_doc2x.pptx

r2.dvi

手書認識 グラフ描画 Step2-2 手書認識 : 認識結果を PaintPanel で描画する < 属性付き文字列 AttributedString> 標準出力では分かりにくいうえに認識結果を使えないので 認識するごとに PaintPanel に文字を描画することにする ここで 数式はただの文字列

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

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

Java言語 第1回

Java 2 - Lesson01

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

......() JButton

Microsoft PowerPoint prog1_doc2.pptx

Java 2 - Lesson01

< F2D B825082CC96E291E82E6A7464>

r14.dvi

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

目 次 Java GUI 3 1 概要 クラス構成 ソースコード例 課題...7 i

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

<4D F736F F F696E74202D AC C8899E D834F E >

< F2D E E6A7464>

PowerPoint Presentation

Prog1_12th

Animals サンプル Step 1 動物の種類を指定しておいて クリックした場所に画像を貼り付ける < レイアウトについて > 前回は ラベルやボタンの位置を座標で設定した Absolute Layout を選んだためである レイアウトは どのようにボタンなどのコンポーネントを配置するかを決定す

< F2D89BA8EE882C E6A7464>

B 10 : N ip2003f10.tex B : 9/12/ :02 p.1/71

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

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

Java言語 第1回

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

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

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 (

< F2D834F838C A815B A CC>

< F2D B838A835882CC8CF68EAE2E6A7464>

text_12.dvi

Animals サンプル Step 2 張り付けた動物の上をクリックすると それぞれの鳴き声で鳴く < 例外について > エラーや 通常の処理の中では起こってはいけない事象のことを例外といい 例外が起こる可能性がある場合はその対応処理を記述しなければならない 一般に java.lang パッケージの

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

< F2D82B682E182F182AF82F12E6A7464>

2 static final int DO NOTHING ON CLOSE static final int HIDE ON CLOSE static final int DISPOSE ON CLOSE static final int EXIT ON CLOSE void setvisible

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

Graphical User Interface 描画する

Prog1_12th

PowerPoint プレゼンテーション

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464>

< F2D F B834E2E6A7464>

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

Microsoft PowerPoint - prog11.ppt

Microsoft PowerPoint - OOP.pptx

4 p.2 4 GUI return; public void mousepressed(mouseevent e) { /* 5 */ public void mousereleased(mouseevent e) { /* 5 */ public void mouseentered(mousee

Thread

Prog2_11th

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

: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

r3.dvi

Microsoft PowerPoint - prog10.ppt

< F2D82518CC282CC D2E6A7464>

< F2D92DE82E8914B82CC977088D32E6A7464>

< F2D A838B838D96402E6A7464>

< F2D825282CC947B909482CC A815B83682E6A>

< F2D A839382CC906A2E6A7464>

JAVA入門

Microsoft PowerPoint - prog10.ppt

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

text_13.dvi

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

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

Chapter JDK KeyListener keypressed(keyevent e ) keyreleased(keyevent e ) keytyped(keyevent e ) MouseListener mouseclicked(mouseeven


Microsoft Word - Java3.DOC

GUIプログラムⅣ

GUIプログラムⅤ

自宅でJava言語の開発環境を作る方法

Microsoft PowerPoint - prog13.ppt

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

5 p Point int Java p Point Point p; p = new Point(); Point instance, p Point int 2 Point Point p = new Point(); p.x = 1; p.y = 2;

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

Object MenuComponent MenuBar MenuItem Menu CheckboxMenuItem

Java 2 - Lesson01

Microsoft PowerPoint - prog13.ppt

ブロック崩し Step1 矢印キーで左右に動かせるパドルを描画する < パドルの表現方法 > パドルは java.awt パッケージの Rectangle という Java が用意しているクラスを使う これは四角形を表すクラスで 左上の点の座標と幅 高さをもっている (x, y) Rectangle


< F2D8EA CE909482CC92EA82852E6A7464>

Transcription:

次の演習課題 (1),(2) のプログラムを作成せよ. 課題 (1) ボタン押下時の処理を追加し以下の実行結果となるようにプログラムを作成しなさい ( ボタン押下時の処理 ) import java.lang.*; class Figure extends JFrame implements ActionListener{ JPanel panel; JScrollPane scroll; JTextArea tarea; JButton botn1; JButton botn2; int pos = 0; panel = new JPanel(new FlowLayout(FlowLayout.CENTER)); tarea = new JTextArea(); scroll = new JScrollPane(tarea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); botn1 = new JButton(" 表示 "); botn2 = new JButton(" クリア "); panel.add(botn1); panel.add(botn2); // JFrame のコンテントペインの取得 Container con = frame.getcontentpane(); // コンテントペインに JPanel, JScrollPane を配置 con.setlayout(new BorderLayout()); con.add(panel, BorderLayout.SOUTH); con.add(scroll, BorderLayout.CENTER); botn1.addactionlistener(this); botn2.addactionlistener(this); // フレームのセットアップ frame.setbackground(color.white); frame.setsize(320, 240); frame.settitle(title); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setvisible(true); public void actionperformed(actionevent e) { if (botn1 == e.getsource()) { /* ここに処理を追加 */ else if (botn2 == e.getsource()){

tarea.settext(""); pos = 0; public class Kadai1201_01 { static public void main(string[] args) { Figure figure = new Figure(" ボタン処理 "); なお テキストエリアへの文字の書き込みは str で表示文字を作り tarea.append(str); tarea.setcaretposition(tarea.gettext().length()); で実現される ヒント pos= 1; Sting str = pos+"\n"; などとしてどのように表示されるかまず 試してみよ プログラム仕様 : 表示のボタンを押すと 1 回実行 2 回実行 と表示される クリアボタンを押すと表示が消える 再度実行できる ( 表示のボタンを押すと 1 回実行 2 回実行 と表示される ) 解答例.GUI の問題というよりは テキスト表示の問題? となってしまいましたが

import java.lang.*; class Figure extends JFrame implements ActionListener{ JPanel panel; JScrollPane scroll; JTextArea tarea; JButton botn1; JButton botn2; int pos = 0; panel = new JPanel(new FlowLayout(FlowLayout.CENTER)); tarea = new JTextArea(); scroll = new JScrollPane(tarea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); botn1 = new JButton(" 表示 "); botn2 = new JButton(" クリア "); panel.add(botn1); panel.add(botn2); // JFrame のコンテントペインの取得 Container con = frame.getcontentpane(); // コンテントペインに JPanel, JScrollPane を配置 con.setlayout(new BorderLayout()); con.add(panel, BorderLayout.SOUTH); con.add(scroll, BorderLayout.CENTER); botn1.addactionlistener(this); botn2.addactionlistener(this); // フレームのセットアップ frame.setbackground(color.white); frame.setsize(320, 240); frame.settitle(title); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.setvisible(true);

public void actionperformed(actionevent e) { if (botn1 == e.getsource()) { // String str = String.format("%d 回実行 %n", ++pos);// 左でもよい pos++; String str = pos+" 回実行 \n"; // pos = 1; // String str = pos+"\n"; tarea.append(str); tarea.setcaretposition(tarea.gettext().length()); else if (botn2 == e.getsource()){ tarea.settext(""); pos = 0; public class Kadai1201_01 { static public void main(string args[]) { Figure figure = new Figure(" ボタン処理 "); (2) 以下の実行結果となるように 2 箇所 処理を追加し プログラムを作成しなさい ( マ ウス処理 ) import java.lang.*; class Figure extends JFrame { frame.add(new DrawPanel());

frame.settitle(title); frame.setdefaultcloseoperation(jframe.exit_on_close);// フレーム閉じるボタン frame.setbackground(color.white);// フレーム背景 frame.setsize(320, 240);// フレーム大きさ frame.setvisible(true);// フレーム表示 class DrawPanel extends JPanel implements MouseListener {// マウスイベント int posh;// 水平位置 int posv;// 垂直位置 public DrawPanel() { setbackground(color.white);// パネル背景 addmouselistener(this);// マウスリスナー public void paintcomponent(graphics g) {// 描画 super.paintcomponent(g); String paint = String.format("(%d, %d)", posh, posv);// 文字表示 g.drawstring(paint, posh, posv);// 文字描画 // コンポーネントの上にマウスカーソルが入ってきたときの処理 public void mouseentered(mouseevent e) { // コンポーネントの上にマウスカーソルが出るときの処理 public void mouseexited(mouseevent e) {// // コンポーネントの上でマウスボタンが押されたときの処理 public void mousepressed(mouseevent e) {// // コンポーネントの上でマウスボタンがクリックされたときの処理 public void mouseclicked(mouseevent e) {// /* 処理追加 */ // コンポーネントの上でマウボタンが離されたされたときの処理 public void mousereleased(mouseevent e) {// public class Kadai1201_02 { public static void main(string[] args) { Figure figure = new Figure(" マウスの座標を表示 ");// インスタンス生成 プログラム仕様 : マウスをクリックすると 座標が表示される

解答例. 講義資料では JFrame で表示するようにしましたが ここでは JPanel でそれを再現したおります やっている事は同じと認識できれるか? を問うこととしました import java.lang.*; class Figure extends JFrame { frame.add(new DrawPanel()); frame.settitle(title); frame.setdefaultcloseoperation(jframe.exit_on_close);// フレーム閉じるボタン frame.setbackground(color.white);// フレーム背景 frame.setsize(320, 240);// フレーム大きさ frame.setvisible(true);// フレーム表示 class DrawPanel extends JPanel implements MouseListener {// マウスイベント int posh;// 水平位置 int posv;// 垂直位置

public DrawPanel() { setbackground(color.white);// パネル背景 addmouselistener(this);// マウスリスナー public void paintcomponent(graphics g) {// 描画 super.paintcomponent(g); String paint = String.format("(%d, %d)", posh, posv);// 文字表示 g.drawstring(paint, posh, posv);// 文字描画 public void mouseentered(mouseevent e) { public void mouseexited(mouseevent e) { public void mousepressed(mouseevent e) { public void mouseclicked(mouseevent e) { posh = e.getx();// 水平位置取得 posv = e.gety();// 垂直位置取得 repaint();// 描画 public void mousereleased(mouseevent e) { public class Kadai1201_02 { public static void main(string[] args) { Figure frame = new Figure(" マウスの座標を表示 ");// インスタンス生成