・2009年8月 橋本


河原林研究室 >> EcoBe!ダンスGUI >> 2009年8月 橋本

今月の目標 (実際)

  • JavaFX(%)
    • &color(foreground[,background]){text};
  • GUI作成(%)
    • &color(foreground[,background]){text};
  • (%)
    • &color(foreground[,background]){text};
  • (%)
    • &color(foreground[,background]){text};

今週の目標(8/17〜8/23)

  • JavaFX(%)

出来た事・分かった事

問題点

2009-8-17(Mon)10:00〜13:00


2009-8-18(Tue)10:00〜13:00

  • JavaFX:基本的な文法を理解する
    • 基本となるデータ型
      文字列 String
      数値 Integer, Number
      論理値 Boolean
      時間間隔 Duration
      Void
      関数 function
    • 変数は var を使用して定義する。
      var text: String = ・・・;
    • 文字列を表す場合、シングル(ダブル)クォーテーションで囲む
      var text: String = 'Hello, World!';
      
      println(text);
    • 文字列を連結するにはconcat関数を使う。(+では連結できない!!)
      var text: ・・・.concat{・・・}.concat{・・・}
    • 数値は整数型のIntegerと、浮動小数点数型のNumberで表される。
    • 関数の定義は function を使用して定義する。
      function 関数名(引数1: 型, 引数2: 型): 戻り値の型 {
         // 関数で行う処理 
      }
    • シーケンス:Javaで言う配列。配列にない機能も有する。
      • シーケンスは[ ]で囲い,要素をカンマ区切りで記述する。
      • 以下のような定義も可能。
        1. 始値と終値で指定した範囲
        2. 始値と終値で指定した範囲 ただし終値は含まない
        3. 始値と終値およびステップを指定した範囲

2009-8-19(Wed)10:30〜14:30

  • 昨日から引き続きjavafxにてウィンドウの分割に挑戦。
    • 挫折。Y先輩にメールする。

2009-8-20(Thu)10:30〜14:00

  • 引き続きウィンドウの分割に取り組む
    • SplitPane?SplitView?は使えないことが分かる。
      SplitView?の変わりに何を使えばいいのか分からない。
  • Eclipseで古いバージョンのJavaFXを使ってやることにする。
    • インストールに挑戦。

2009-8-21(Fri)10:30〜13:30

  • 昨日に引き続きEclipseでのJavaFXに挑戦。
    • 何度やってもライブラリにJavaFXが現れないので新規で作ってみる。
      • 成功。
  • Hello JavaFX!
    import javafx.ui.*;
    
    Frame {
    	title:"JavaFX Sample"
    	width:200
    	height:120
    	visible:true
    	content:Label {
    		text:"Hello JavaFX!"
    		font:new Font ("Serif","BOLD",18)
    	}
    }
  • 領域分割のプログラムを無事実行できた。
    import javafx.ui.*;
    
    Frame {
    	title:"Sample Window"
    	width:300
    	height:200
    	content:SplitPane {
    		orientation:HORIZONTAL
    		content:[
    			SplitView {
    				weight:0.5
    				content:Label {
    					text:"First View"
    					font:Font { size: 24 }
    					background: Color {
    						red: 255 green: 220 blue: 220
    					}
    				}
    			},
    			SplitView {
    				weight:0.5
    				content:Label {
    					text:"Second View"
    					font:Font { size: 18 }
    					background: Color {
    						red: 150 green: 150 blue: 255
    					}
    				}
    			}]
    	}
    	visible: true
    }
    bunkatsu.jpg

Todo


今週の目標(8/24〜8/30)

  • GUI作成(%)

出来た事・分かった事

問題点

2009-8-25(Tue)11:00〜17:00

  • 今後のことについての話し合い

2009-8-26(Wed)11:00〜16:30

  • 今後のことについての話し合い(吉田)
  • 英語王決定戦

2009-8-27(Thu)10:00〜13:00

  • Dragさせるプログラム
    import javafx.ui.*;
    import java.lang.System;
    import javafx.ui.canvas.*;
          
          class DragableImage extends ImageView{
          	attribute x : int;
          	attribute y : int;
          }
          
          trigger on new DragableImage{
          	var imgX;
          	var imgY;
          	
          	this.onMousePressed = operation(e:CanvasMouseEvent){
          		imgX = e.x;
          		imgY = e.y;	
          	};
          	
          	this.onMouseDragged = operation(e:CanvasMouseEvent){
          		var x = e.x - imgX;
          		var y = e.y - imgY;
          		
          		this.x += x;
          		this.y += y;
          		
          		imgX = e.x;
          		imgY = e.y;	
          	};
          	
          	this.transform = translate(bind this.x,bind this.y);
          }
          
          
          Frame{
          	title : "MyJavaFX"
          	width : 200
          	height : 200
          	content : Canvas{
          		content : Group{
          			content : [
          				DragableImage{
          					x : 50
          					y : 50
          					cursor : MOVE:Cursor
          					image : Image{
          						url : "./duke.gif"
          					}
          				},
          				DragableImage{
          					x : 20
          					y : 20
          					cursor : MOVE:Cursor
          					image : Image{
          						url : "./duke.gif"
          					}
          				}
          			]
          		}
    }
          visible : true
    }
  • GUI作成
    • ボタンの画像を作ってみる
      button2.JPG
      • どうやってドラッグさせる?
      • シェイプ使ったほうがいいかも…?

2009-8-28(Fri)10:00〜13:00

中間報告書

  • 1.はじめに
  • 2.RoboCup?について
    • 去年の。(本章では〜)
  • 3.EcoBe?について
    • EcoBe?の仕組み
    • EcoBe?への書き込み手順
  • 4.こんなGUIを作るよ
    • 小学生でもプログラムできるように(完成予想図)
  • 5.GUIについて
  • 6.JavaFXについて
    • インストール手順
    • 関数の説明
  • 7.Eclipseについて
    • インストール手順
  • 8.まとめ
  • 9.参考文献
  • 付録
  • RoboCup?でのプログラム
    • 単体で動かせるか?(GUIの項目か、EcoBe?の項目か。)
  • はじめには後回し
  • 全体をちょろっと書いてみてから細かい説明
  • 大きいところを説明してから小さいところを説明

2009-9-3(Thu)11:00〜16:00

  • 中間報告書作成
  • コメントあれこれby河2009-09-04
    • 中間報告書は毎日提出してくだい。そのさい、目次をつけて下さい。日付もつけて下さい。
    • チェックしたのもは机の上に置いてあります。全体の説明をして細かい説明をする方法が上手くできていると思います。その調子。
    • &color(red){来週の9月11日(金)まで、あと何日で何ページ書く必要がありますか。 締切から逆さんして毎日どれぐらいやらないといけないか計算し、今日の目標を立ててすすめて下さい。また、計画通り進めるためのペースを作るため毎日来る時間を決めておいた方が良いと思います。};
    • 上の中間報告書のところに、「章立て」を設けてその下に上のTODOにある内容を書いておいてください。