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で取り上げてほしいネタは?

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

その他の連載

もっと便利に!jQueryでラクラクサイト制作(実践サンプル付き)

本連載では,実践サンプルとともに,jQueryを上手に活用してサイト制作の品質向上・効率化を実現するための実践テクニックを解説します。

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

サーバーを自社で運用管理するのはもう限界…。データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

続・先取り! Google Chrome Extensions

2010年1月のリリースが予定されているGoogle Chrome 4に搭載されるExtensionsについて,その詳細を先取りで解説します。最新情報から,ユーザースクリプトやテーマの作り方など関連情報もお届けします。

モダンPerlの世界へようこそ

この連載では,Perlの世代間ギャップに悩んでいる方に,いくらかの背景知識と,これだけは知っておいたほうがよいという最低限の慣用句をお届けします。

Hosting Department:ホスティングを活用するための基礎知識

本連載では,ホスティングサービスを活用する上で知っておきたい基礎知識を解説します。

Blogopolisから学ぶ計算幾何

計算幾何学は,図形に関するアルゴリズムを研究するコンピュータサイエンスの一分野です。本連載では,ビジュアルブログ検索エンジン「Blogopolis」で採用されている計算幾何のアプローチを例に取り上げながら,計算幾何の初歩を実践的に学習します。

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

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

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

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

連載一覧

gihyo.jp

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

書籍案内

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

定期刊行物一覧

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

最近のコメント