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

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

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

ガイダンス

ガイダンス

ガイダンス

ガイダンス

PowerPoint Presentation

ガイダンス

Java 2 - Lesson01

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

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

Java - Visual Editor

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

Microsoft PowerPoint - swing2.ppt

3D 描画 Step1-1 まず O 原子となる球を 1 つ描画する <WaterPanel.java の作成 > 1.Chemical プロジェクトをインポート 共有フォルダから Chemical.zip をコピーして workspace 内にはりつけ パッケージ エクスプローラで右クリック イン

text_12.dvi

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

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

Microsoft PowerPoint - prog12.ppt

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

C#の基本

Java言語 第1回

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

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

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

Prog1_12th

PowerPoint Presentation

Microsoft PowerPoint - OOP.pptx

産能大式フローチャート作成アドインマニュアル

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

Microsoft Word - netvault_quick_setting_guide_tape_device_j.doc

< F2D E E6A7464>

Microsoft PowerPoint - swing3.ppt

Prog1_12th

Java 2 - Lesson01

Eclipse 操作方法 (Servlet/JSP 入門補助テキスト)

<4D F736F F F696E74202D AC C8899E D834F E >

< F2D B825082CC96E291E82E6A7464>

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

Java言語 第1回

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

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

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

1 Java Java GUI , 2 2 jlabel1 jlabel2 jlabel3 jtextfield1 jtextfield2 jtextfield3 jbutton1 jtextfield1 jtextfield2 jtextfield3

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

Prog2_5th

ボタンイベントアプリイベント処理を含むアプリとして, ボタンをもち, ボタンを押すと文字列を表示するアプリを作る. このアプリは,HelloWorld アプリを改造して作成するため, アプリ作成の途中からの手順を示す. 1. ボタンの設置 (1) レイアウトにボタンを追加するパレットの フォーム ウ

Java言語 第1回

目次 概要... 2 フォームレイアウトデザイナー機能の設定... 3 設定したフォームレイアウトデザイナーの確認...14 その他スタイルの設定...15 フォームレイアウトデザイナーをエクスポート...17 フォームレイアウトデザイナーをインポート...18 インポート時の制限事項...19 リ

のようにする 上の例では GeneralPath を new するときに コンストラクタに何も指定していないが 直線を表す Line, 四角形を表す Rectangle などを引数に与えてもよい 矢印を作成するメソッドの引数矢印を表す GeneralPath を生成するために getarrowpat

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

(Microsoft Word - java\221n\221\242\203\214\203|\201[\203g.doc)

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

CodeGear Developer Camp

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

スライド 1

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

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

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464>

......() JButton

ファイルを直接編集する画面を切り替えることができる. 図 3 標準のレイアウトを削除する (2) グラフィカル レイアウト画面で LinearLayout(Vertical) を追加するパレットウィンドウの レイアウト の中にある LinearLayout(Vertical) をドラッグして, 編集

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

Microsoft PowerPoint - prog11.ppt

PowerPoint プレゼンテーション

最初に

スライド 1

PowerPoint プレゼンテーション

Microsoft PowerPoint - prog13.ppt

WebOTXマニュアル

ポストカード

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

G-mail とは何ですか? G-mail とは Google が提供するフリーメールですメールにはプロバイダ ( インターネット接続の契約した会社 ) から提供されるものと携帯電話を購入すると提供されるもの そしてインターネット上で無料で登録利用できるメールアドレスがあります プロバイダから提供さ

PowerPoint プレゼンテーション

SnNCutCnvs ステッカーウィザードを使ってデザインを作成する ここでは スターターキットに付属している A4 サイズ (210 mm 297 mm) のプリントステッカーを使用する場合の例を説明します [ ステップ 1] エリアサイズを変更します パソコンの場合 : 編集画面 >[ プロジェ

text_13.dvi

スライド 1

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

Prog2_6th

< F2D A838B838D96402E6A7464>

Microsoft PowerPoint - prog11.ppt

目次 1. はじめに Excel シートからグラフの選択 グラフの各部の名称 成績の複合グラフを作成 各生徒の 3 科目の合計点を求める 合計点から全体の平均を求める 標準偏差を求める...

Microsoft PowerPoint prog1_doc2.pptx

< F2D F B834E2E6A7464>

< F2D B838A835882CC8CF68EAE2E6A7464>

Microsoft Word - VB.doc

Microsoft PowerPoint prog1_doc2x.pptx

< F2D82518CC282CC D2E6A7464>

Prog2_6th

RAYOUT

Prog2_2nd

1セル範囲 A13:E196 を選択し メニューの データ - 並べ替え をクリック 並べ替え ダイアログボックスで 最優先されるキー から 年代 を選択し OK をクリック ( セル範囲 A13:E196 のデータが 年代 で並び替えられたことを確認する ) 2セル範囲 A13:E196 を選択し

目 次 セットアップ(windows版) 3 ソフトの起動 6 起動 製作開始まで 7 画面名称 9 製作を始める前に 9 フォトブック製作 ページに写真を配置する 10 写真の追加 10 写真の配置 画像ボックスの移動 12 画像ボックスのサイズ変更 12 フォトブック製作 自動流し込

HCI プログラミング 8 回目ボタン チェックボックス ラジオボタン 今日の講義で学ぶ内容 ボタンとアクションイベント ボタンのカスタマイズ チェックボックスとラジオボタン ボタンとアクションイベント 1 ボタンを配置してみましょう ボタンは ラベルと同じようにフォントやその色 画像の貼り付けなど

生存確認調査ツール

Prog2_11th

MoreStudy 第 6 章 MoreStudy 第 6 章 第 1 節 貼り付け 3 [ 形式を選択して貼り付け ] ダイアログから [Microsoft Excel ワークシート ] を選択し [OK] ボタンを 押します 1 Excel ワークシートで貼り付け [Pastespec] リボン

Microsoft PowerPoint - prog13.ppt

目次 STEP.1Word ファイルを小冊子にする... 1 注意... 2 STEP1-1 印刷 (EPSON) の場合... 5 STEP.2 冊子つくり... 7 STEP.3 新しいページの挿入... 7 STEP.4 見出し... 8 STEP.5 目次を作成... 9 STEP.6 冊子

Prog2_2nd

Oracle BI Publisherを利用したレポートの作成

Transcription:

GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ 2-2 手書認識認識結果 ( 数式 ) を描画する ステップ 3 認識した数式を元に関数グラフを描画する 発展課題 1 認識結果の第 2 第 3 候補を選べるようにする 発展課題 2 全消去ボタンを作成 -1-

手書認識 グラフ描画 Step1_1 フレームの作成 < 作成手順 > 1.Graph プロジェクトを新規作成パッケージ エクスプローラで右クリック 新規 Java プロジェクトプロジェクト名 Graph 2.recognition パッケージを作成 src フォルダを選択 右クリック 新規 パッケージパッケージ名 recognition 3.graph パッケージを作成 src フォルダを選択 右クリック 新規 パッケージパッケージ名 graph 4.Stroke クラスを作成 recognition パッケージを選択 右クリック 新規 クラスクラス名 Stroke で 完了 5.PaintPanel クラスを作成 JPanel を継承 (extends) MouseListener, MouseMotionListener を実装 (implements) したクラス graph パッケージを選択 右クリック 新規 クラス クラス名 PaintPanel スーパークラスの参照をクリック JPanel とうつと javax.swing の JPanel が出てくるので それを選択して OK インターフェースの追加をクリック MouseListener で出てくるクラスを選択して 追加 MouseMotionListener で出てくるクラスを選択して 追加 OK 完了 ボタンを押下 6.GraphPanel クラスを作成 ステップ 3 で使うクラス graph パッケージを選択 右クリック 新規 クラス クラス名 GraphPanel スーパークラスの参照をクリック JPanel とうつと javax.swing の JPanel が出てくるので それを選択して OK 完了 ボタンを押下 7. フレームを作成後述の <GraphFrame.java の作成手順 > を参照 8. 実行して外観を確認 -2-

<GraphFrame.java の外観 > 今回はパネルや張り付けるコンポーネントの数が多いので あらかじめアウトラインを示しておく アウトラインは パネルやボタン ラベルなどがどのような階層で何につけられているかをツリー構造で見ることができる -3-

<GraphFrame.java の作成手順 > 1. フレームを作成 graph パッケージ選択 右クリック 新規 その他を選択 GUI Forms Swing JFrame を選んで 次へ Class Name は GraphFrame として 完了 2.Jigloo のメッセージが出てきたら OK 3.Look&Feel( プログラムの見た目 ) を設定フレームを選択 右クリック Set Look&Feel Windows を選択 4. レイアウトを設定フレームを選択 右クリック Set Layout BorderLayout を選択 5. フレームのサイズを大きめにするソースの方をみて initgui() の中の下の方にあるサイズ指定部分を編集 setsize(400,300); setsize(600,500); 6. フレームのプレビューに戻り パネルを North に追加上部の Containers 右から 5 番目の JPanel を選び フレームに貼り付ける名前は northpanel Constraints の中の direction に North を選択 7. パネルを South に追加名前は southpanel Constraints の中の direction に South を選択 8. パネルを West に追加名前は westpanel Constraints の中の direction に West を選択 9. パネルを East に追加名前は eastpanel Constraints の中の direction に East を選択 10. SplitPane( 分割されているパネルのようなもの ) を Center に追加上部の Containers 左から 4 番目の JSplitPane を選び フレームに貼り付ける名前は jsplitpane 11. jsplitpane はデフォルトで縦分割なので 横分割にする ボタンが付いて見えるのは気にしなくてよい 下部の GUI Properties タブの中の左側の Properties 一覧から Basic の中の orientation を探し その値としてプルダウンから VERTICAL_SPLIT を選択する 12. 分割位置を設定する Properties 一覧から Expert の中の dividerlocation を探し その値として 200 と入力 13. jsplitpane の top にパネルを追加名前は innerpanel1 Constraints の中の position に top を選択 Layout を Border にする 14. jsplitpane の bottom にパネルを追加名前は innerpanel2 Constraints の中の position に bottom を選択 Layout を Border にする -4-

15. innerpanel1 の East にパネルを追加名前は rightpanel1 Constraints の中の direction に East を選択 Layout の中の vgap を 20 に設定 16. rightpanel1 の横幅を大きくする Properties の Basic の中の preferredsize の幅の数値が 140 前後になるくらい 17. innerpanel2 の East にパネルを追加名前は rightpanel2 Constraints の中の direction に East を選択 Layout の中の vgap を 30 に設定 18. rightpanel2 の横幅を大きくする Properties の Basic の中の preferredsize の幅の数値が 120 前後になるくらい 19. innerpanel2 の North に toppanel の名前でパネルを追加 20. innerpanel2 の South に bottompanel の名前でパネルを追加 21. innerpanel2 の West にラベルを追加 Components から左から 8 番目にある JLabel を選び innerpanel2 内に置く名前は leftlabel Text は y = Constraints の中の direction に West を選択 22. leftlabel のフォントを変更 Properties の Basic の中の font の段の右端をクリック フォントのウィンドウが出てくるのでスタイルを Bold サイズを 20 にする -5-

23. PaintPanel を innerpanel2 の Center に追加 innerpanel2 を選択 ( 下の段のパネル中央をクリック ) 右クリック Add Add Custom Add custom class or layout を選択 PaintPanel と入力して OK 名前を paintpanel とし Constraints の中の direction が Center になっていることを確認して OK 24. rightpanel2 にボタンを 2 つ追加 Components の一番左にある JButton を選んで rightpanel2 に貼り付け 1 つ目 : 名前 recogbutton Text 認識実行 1 つ目 : 名前 erasebutton Text 消去 25. ボタンが押されたときに実行されるメソッドのひな型を作成 recogbutton を選択し Event Name のリスト中の ActionListner を開いて actionperformed を inline に設定する erasebutton にも同じ操作をしておく 26. 消去メソッドをソースで編集 erasebutton = new JButton(); rightpanel2.add(erasebutton); erasebutton.settext("\u6d88\u53bb"); erasebutton.addactionlistener(new ActionListener() { public void actionperformed(actionevent evt) { paintpanel.erase(); } }); 以降はグラフ描画のためのコンポーネントだが まとめてここで作ってしまう 27. rightpanel1 に x 範囲指定のためのコンポーネントを配置 JTextField 名前 xminfield Text -10 JLabel 名前 xrangelabel Text x JTextField 名前 xmaxfield Text 10 28. rightpanel1 に y 範囲指定のためのコンポーネントを配置 JTextField 名前 yminfield Text -10 JLabel 名前 yrangelabel Text y JTextField 名前 ymaxfield Text 10 29. rightpanel1 にグラフ描画ボタンを追加 Components の一番左にある JButton を選んで rightpanel1 に貼り付け名前 graphbutton Text グラフ描画 30. ボタンが押されたときに実行されるメソッドのひな型を作成 graphbutton を選択し Event Name のリスト中の ActionListner を開いて actionperformed を handler method に設定する 31. GraphPanel を innerpanel1 の Center に追加 innerpanel1 を選択 ( 上の段のパネル中央をクリック ) 右クリック Add Add Custom Add custom class or layout を選択 GraphPanel と入力して OK 名前を graphpanel とし Constraints の中の direction が Center になっていることを確認して OK ここまでできたら 実行して外観を確認する -6-