アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » DEVELOPER STAGE » 連載 » ついにベールを脱いだJavaFX » 第14回 補遺:JavaFX Scriptマイグレーションガイド

ついにベールを脱いだJavaFX

第14回 補遺:JavaFX Scriptマイグレーションガイド

JavaFX Scriptはインタープリタ版,Preview SDK,JavaFX 1.0,Java FX 1.1と変遷を遂げてきました。そして,そのつど文法やAPIが変更されてきました。

そこで,本連載の補遺として,その主な変更点をまとめてみます。主に文法の差異をまとめ,APIに関しては大きな変化のみを取りあげています。

ここで,いつ変更されたかわるように,以下のように記号を使用します。

  • (I) ... インタープリタ版
  • (P) ... Preview SDK
  • (1.0) ... JavaFX 1.0
  • (1.1) ... JavaFX 1.1

たとえば,タイトルに (I)/(P)と記述してあれば,インタープリタ版とPreview SDKが最新のJavaFX 1.1とは異なることを示しています。また,リストのタイトルに(I)と記述してあれば,インタープリタ版での記述法を示しています。

目次

文法編

データ型と変数

数値型の変更 (I)/(P)/(1.0)

インタープリタ版では数値型はInteger,Numberで表されていました。IntegerはJavaのint,long,BigIntegerクラスに対応し,Numberはdoubleに対応していました。

JavaFX 1.0でIntegerはintに対応するように変更されました。また,JavaFX 1.1でNumberがfloatに対応するように変更されました。

さらに,JavaFX 1.1ではInteger,Number以外に以下の数値型が提供されています。

  • Byte
  • Short
  • Long
  • Float
  • Double

それぞれ,Javaのbyte,short,long,float,doubleに対応しています。

時間間隔 (I)

時間間隔を表すDuration型が導入され,時間間隔を表すことができます。

リスト1 時間間隔 (P)/(1.0)/(1.1)

var u: Duration = 2h; // 2時間
var v: Duration = 30m; // 30分
var x: Duration = 1.0s; // 1秒
var y: Duration = 10ms; // 10ミリ秒

複数の要素からなる変数 (I)

インタープリタ版では変数が複数の要素を持つかどうかを示すために?,+,*を使用して変数を定義することができました。Preview SDKからはこれらのキーワードはサポートされなくなり,複数の要素で表される場合はすべてシーケンスとして定義します。

リスト2 複数の要素からなる変数 (I)

var x? = [0..10]; // nullの可能性がある
var y+ = 5; // 変数の個数が1個以上
var z* = [2..5];  // 変数の個数が0個以上

リスト3 複数の要素からなる変数 (P)/(1.0)/(1.1)

var x: Integer[] = [0..10];
var y: Integer[] = 5;
var z: Integer[] = [2..5];

定数 (I)/(P)

JavaFX 1.0で一度だけ代入することができるdefが定義されました。

リスト4 defキーワード (1.0)/(1.1)

def x = 10;
x = 20; // NG 代入はできない
 
def line = Line {
    startX: 0.0 startY: 0.0
    endX: 10.0 endY: 20.0
};
line.startX = 2.0; // これはOK

定数の代入 (I)

インタープリタ版では定数の型の記述を省略できましたが,Preview SDKからは型を明示する必要があります。

リスト5 定数の代入 (I)

Rect {
    width: 200
    height: 1000
    fill: red
};

リスト6 定数の代入 (P)/(1.0)/(1.1)

Rectangle {
    width: 200
    height: 1000
    fill: Color.RED
};

複数行に渡る文字列 (I)

インタープリタ版では複数行に渡るリテラル文字列が許されていましたが,Preview SDKから使用できなくなりました。複数行に渡る文字列を扱う場合,文字列中に改行を示す\nを含めます。

リスト7 複数行の文字列 (I)

var text = "This
is
a multiline
string.";

リスト8 複数行の文字列 (P)/(1.0)/(1.1)

var text = "This\nis\na multiline\nstring.";

文字列への式の埋め込み (I)

インタープリタ版ではダブルクオテーションで囲まれた文字列のみ式の埋め込みが可能でした。Preview SDKからはダブルクオテーションだけでなく,シングルクオテーションでも式の埋め込みが可能です。

リスト9 式の埋め込み (I)

var x = 10;
System.out.println("x = {x}");   // これはOK
System.out.println('x = {x}');   // これはNG 実行すると x = {x} と出力される

リスト10 式の埋め込み (P)/(1.0)/(1.1)

var x = 10;
println("x = {x}");   // これはOK
println('x = {x}');   // これもOK

フォーマット (I)

インタープリタ版ではオブジェクトを文字列に変換する場合,式の後ろにformat asで指定しました。JavaFX 1.0からは式の前に直接フォーマットを指定します。

リスト11 フォーマット (I)

var x = 10;
System.out.println("x = {x format as <<%05d>>}"); 

リスト12 フォーマット (P)/(1.0)/(1.1)

var x = 10;
println("x = {%05d x}");

著者プロフィール

櫻庭祐一(さくらばゆういち)

横河電機に勤務するかたわらJava in the Boxにて新しい技術を追い続けています。JavaOneは今年で11年目。名実共にJavaOneフリークと化しています。

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

読むウェブ ~本とインタラクション

ディスプレイで読む活字とそのインタラクション(interaction:相互作用)について,最新Webを紹介しながら読み解いていく。

いま,見ておきたいウェブサイト

この連載では,国内外の最新のウェブサイトを隔週更新で取り上げ,これら最新サイトの特徴や素晴らしい部分を,さまざまな角度から解説していきます。

Windows phoneアプリケーション開発入門

Windows Marcketplace for Mobileがサービス開始され,作成したアプリケーションを個人でも世界をターゲットに公開できる環境が整ってきました。これを機にWindows phoneアプリケーションの開発をしてみませんか?

ここは知っておくべき!Windows Server 2008技術TIPS

5年ぶりのサーバOSとなったWindows Server 2008が出荷されて早2年。2009年にはR2が出荷され,再び注目を集めています。発売前から実施したトレーニングによって感じた,インフラエンジニアの方々に知っておいていただきたい機能を中心にご紹介します。

キーパーソンが見るWeb業界

本連載はWeb Site Expert/gihyo.jpとの連動企画です。阿部淳也, 長谷川敦士, 森田雄のお三方による,Web業界をテーマにした座談会です。

きたみりゅうじの聞かせて珍プレー

ソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。みなさんからの投稿もお待ちしてます!

ActionScript 3.0で始めるオブジェクト指向スクリプティング

野中文雄氏が,簡単なスクリプトは書いたことがあるという初級者を対象に,ActionScript 3.0の基本からクラス定義までを解説します。

まだ間に合う「ITパスポート」受験対策 原山先生の短期合格塾

この連載では,4月18日のITパスポート試験の受験に向けて,短い期間で効率良く受験対策を行う方法や,確実に得点するための裏ワザなどを伝授していきます。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス