2009年 4月 02日 木曜日
翻訳: Konichiwa JavaFX
JavaFX blog で日本のことが少し取り上げられていたので、久しぶりに翻訳してみました。
Japan JavaFX ユーザーグループ ができたことで、にわかに日本に関する関心が増えてきましたね。うれしい限りです。
----------------
Following are some Japanese JavaFX blogs from our localization and internationalization engineers
-------
国際化/ローカリゼーション チームのエンジニアの (日本語の) blog です。
Kenji Tachibana | Masaki Katakai | Naoto Sato | Yuka Kamiya
Also introducing a new JavaFX Japanese community portal, initiated by the community. This is where JavaFX users can freely communicate and exchange ideas and information in Japanese.
-------------
また、JavaFX の日本語コミュニティーポータル、http://javafx.jp がコミュニティーによって設立されました。このポータルでは、JavaFX ユーザーが自由にコミュニケーションをとったり、アイディアや情報の交換を日本語で行えるサイトです。
Posted at 10:35午前 4 02, 2009 by kenji in JavaFX の素人 |
2009年 4月 01日 水曜日
JavaFX: Display localized Screen on runtime
This is English version of this blog
Sample for Runtime localization (Web Start, use signed jar)
If you see the source code, you can find that this example is using the Locale.setDefault Java class method, like change the default locale and reload the localized strings from .fxproperties.
The clock in botton of the screen is created with refering to Building a JavaFX Application Using NetBeans IDE .
However, to display the time, use extended formatter to display localized time format.
LocalizedDate = "{%tEc now}";
Also, this sample has the round image animation (?), which is I've wanted to create from before. When you click the language button, world map will move to center the city where represent specified language and Timezone.
- English : Los Angeles
- Japanese: Tokyo
- Simplified Chinese: Shanghai (Because timezone need to specify Shanghai (not Beijing) in Java)
- Korean: Seoul
- Brazilian Portuguese: Sao Paulo
This is simply implemented with 3 lined world map, and display only center one and move 3 maps together to left or right.
Displayed in English. Then, click Japanese (日本語) button,
Chnage to Japanese.
Posted at 05:28午後 4 01, 2009 by kenji in JavaFX の素人 |
JavaFX ランタイムローカリゼーションのサンプル
JavaFX.COM のページにサンプルがたくさんありますが、JavaFX で動的に表示言語がかわるサンプルを作らないか?というお誘いに乗って、作ってみました。もちろん NetBeans で!
動的に表示言語がかわるサンプル (Web Start, 署名付き jar 使用)
サンプルに載せてもらえるかどうかはわからないので、とりあえず blog に載せました。
ソースコードを見るとわかるのですが、切り替えは Java の Locale.setDefault メソッドを使っています。ロケールを切り替えて、もう一度メッセージを .fxproperties から読み直してる、という感じです。
画面したの時計は、 Building a JavaFX Application Using NetBeans IDE を見ながら、ローカライズだけしてみたのですが、さくらばさんが、 ついにベールを脱いだJavaFX - 国際化 で、すでに作成されていましたね... 私のソースより、こちらを見たほうがずっと参考になると思います。
また、このサンプルは、ローカリゼーション関連だけではなく、
前からやってみたかった、「ぐるっと一周している画像のアニメーション」も作ってみています。各言語ボタンをクリックすると、世界地図が動いて、その言語にあった都市を中心にした世界地図になります。単に世界地図を3枚横に並べて、中心の画像だけ左右に動かしているのですが、作ってみるとなかなか面白かったです。
英語の画面。ここで、「日本語」をクリックすると、
日本語に切り替わります。
Posted at 04:40午後 4 01, 2009 by kenji in JavaFX の素人 |
2009年 3月 31日 火曜日
JavaFX.com: Brazilian Portuguese and Chinese Page newly added
Brazilian Portuguese is newly added on JavaFX.com, and
Simplified Chinese page is update to latest JavaFX 1.1.1 !!
Please access:
Brazilian Portuguese
Simplified Chinese
Or can go there from Language selector, in footer.

New Language Selector screen shot.
Posted at 11:53午前 3 31, 2009 by kenji in JavaFX の素人 |
2009年 3月 26日 木曜日
JavaFX 1.1.1 がリリースされました。
JavaFX 1.1.1 がリリースされました。
1.1 からのマイクロリリースなので、バグフィックスがメインです。
JavaFX SDK では、メディア関連の bug fix がメインですが、一番うれしいのは、NetBeans 6.5.1 用の plug-in が出たのと、日本語 (というか、英語以外) の文字を使った時に生じる NetBeans エディタ上の問題が修正されたことでしょうか。
NetBeans IDE 6.5.1 for JavaFX 1.1.1 リリースノート
片貝さん、ありがとうございます!これで、やっと日本語使えますね。
NetBeans で、JavaFX plug-in を既にお使いの方は、アップデートセンターから、ダウンロードできると思います。
または、 JavaFX ダウンロードページ からも取得できます。
日本語のダウンロードページ はまだ、1.1 なんですが、近日中にアップデートされる予定です。
日本語のダウンロードページ (予定)
---- 追記 ----
教えてくださったのですが、NetBeans の JavaFX editor には、
まだ、整形 (format) の部分で問題が残ってしまっているそうです。
ただ、以前のように、日本語を入力するだけで、エラーサインがでるような問題は、無くなったようです。それだけでも良かったかなと。
---------------
Posted at 11:36午前 3 26, 2009 by kenji in JavaFX の素人 |
2009年 3月 19日 木曜日
Software Design 4月が発売されました。
Software Design 4月が発売されました。
「NetBeans ではじめる JavaFX 入門」も無事に(?) 載せていただけました。
是非、読んでみてください。
Posted at 05:54午後 3 19, 2009 by kenji in JavaFX の素人 |
2009年 3月 11日 水曜日
JavaFX で Yahoo! map を - JavaFX から javascript を起動する -
数日前、営業部の方 (といっても、エンジニアの方ですが) から、「JavaFX から JavaScript を使いたいのですが?」というご質問をいただきました。
実は、以前から JavaFX から、google や yahoo の地図を起動できないかなぁ、と思っていました。これらの API は、javascript もしくは web サービスで提供されていて、JavaFX から、javascript を起動する方法を考えたのですが、あまりいい方法が見つからず挫折していたので、一瞬、「できないと思います」と答えようとしてしまいました。ところが、その後の説明を聞くと「Java から JavaScript を起動する方法は見つけたのですが、JavaFX から使えないでしょうか?」ということだったのです。
JavaFX では、ご存じの通り、Java のオブジェクトはほとんどそのまま利用できます。なので、「それならできるかも」と思い、サンプルコードを見せていただきました。
... 結局のところ、私は何の役にもたたず、その方が自己解決してくださり、JavaFX から JavaScript を起動する方法を教えていただきました。(ありがとうございます!)
その方法をもとに、以前挫折した、Yahoo Map を JavaFX から起動する方法について、書いておこうと思います(IDE は NetBeans を使っています)。
上の図では、サンマイクロシステムズ本社のある SBS タワーの緯度と経度 (35.62355719, 139.63583278) を入力して、表示した地図です。
JavaFX から JavaScript の関数を呼び出すには、JSObject を利用します。 Java から JavaScript への通信 に JSObject に関する記述がありますが、java1.4 時代のもので、内容的にはちょっと古そうです。なので、ほとんどの情報は、WWW を探して見つけてきたものです。
JSObject は、JRE の plugin.jar にあります。使い方を簡単に説明すると、getWindow メソッドで、
JSObject クラスのインスタンスを取得し、call メソッドで、HTML 上で定義されている javascript の関数を呼び出すことができます。
windonw = JSObject.getWindow(アプレット);
window.call("関数名", 引数);
私の環境の場合、plugin.jar は以下のディレクトリにありました。
C:\Program Files\Java\jdk1.6.0_11\jre\lib\plugin.jar
var applet: Applet = javafx.lang.FX.getArgument("javafx.applet") as Applet;
var window = netscape.javascript.JSObject.getWindow(applet);
window.call("関数名", 引数);
var testval = window.call("関数名", 引数) as String;
JavaFX 側の説明はいったんここまでにします。というのは、呼び出される側の JavaScript がないと、呼び出せないので!
次に、JavaFX から起動できるように、window.onload() 時ではなく、関数として指定して、任意の時点で地図を表示するように変更します。これらを head タグの間に定義しておきます。
<head>
<script type="text/javascript" src="http://map.yahooapis.jp/MapsService/js/V2/?appid=マップキー"></script>
<script langauge="javascript">
function Start() {
ymap = new YahooMapsCtrl("map");
}
</script>
</head>
マップキーは取得したマップキーを入力してください。
この Start() 関数を JavaFX 側から呼び出すことになります。
ここでは緯度、経度の引数はまだ考えていないので、この関数が実行されると、
Yahoo Japan の本社 (六本木ヒルズ) に飛ぶはずです。
次に body には、Yahoo! Map を表示する領域と、JavaFX スクリプトから生成されるアプレットを配置します。以下は Yahoo! Map を表示する領域です。
<div id="map" style="width:600px; height:300px"></div>
そして、アプレットは以下の通りです。JavaFX スクリプトをアプレットとして配備する方法の詳細は、櫻庭さんの「ついにベールを脱いだJavaFX:第13回 デプロイメントとアプレット を参照してください。
<script src="http://dl.javafx.com/1.1/dtfx.js"></script>
<script>
javafx(
{
archive: "JavaFXApplication5.jar",
draggable: true,
width: 200,
height: 200,
code: "javafxapplication5.Main",
name: "JavaFXApplication5"
}
);
</script>
この部分は、NetBeans が生成してくれる html (プロジェクトの dist ディレクトリに生成されます) をコピーしたものです。draggable は false でいいかもしれませんね。
この作成した HTML (ページの下部に最終的な HTML のリンクがあります) を dist に NetBeans で生成される HTML とは別の名前で保存しておきます。右クリックから、「表示」選ぶと、ブラウザから表示することができます。
var nsew = "latitude, longitude";
(略)
SwingTextField {
columns: 20
text: bind nsew with inverse
editable: true
},
SwingButton {
text: "Yahoo Map"
onMouseClicked: function( e: MouseEvent ):Void {
var args: String[] = [nsew];
window.call("Start", args);
}
}
JavaFX の完全なソースは、 ここ にあります。
http://chaichan.web.infoseek.co.jp/qa6000/qa6015.htm
argument[] に渡されているんですね。
なので、JavaScript の Start() 関数を下記のように変更しました。
function Start() {
ymap = new YahooMapsCtrl("map", String(arguments[0]));
}
これで完成です!
作成した HTML を ここ においておきました。ただしリンクをクリックすると html として表示してしまうので、ファイルにセーブしてから参照してください。
最後に一点だけ誤解の無いように付け足しておきます。この方法では、あくまで JavaScript の関数を呼び出しているだけなので、Yahoo! Map 自体を JavaFX 側で操作することはできません。つまり、表示させたマップを回転させたり、拡大させたりはできないです。これは Yahoo Japan に対応していただくしか方法はないですかね...
Posted at 04:11午後 3 11, 2009 by kenji in JavaFX の素人 | 投稿されたコメント[3]
2009年 3月 10日 火曜日
SDC ポータルが、JavaFX 1.1 用にアップデートされました。
SDC ポータルの JavaFX が 1.1 用にアップデートされました。
一番大きな変更は、言語/UI のチュートリアルがアップデートされたことです。JavaFX モバイルエミュレータの使い方や、サンプルの追加など、グッと良くなったと思います。
是非、ご一読ください。
Posted at 10:58午前 3 10, 2009 by kenji in JavaFX の素人 |
2009年 3月 03日 火曜日
JavaFX: JavaFX.com に日本語ページが!
JavaFX.com に、とうとう、各国語のページがアップされました!!
と、いっても、今は、日本語と中国語だけです。すぐに韓国語もアップされると思います。
日本語のページへの行き方は、JavaFX.com のページの一番下に、English[Change] というリンクがあります。これをクリックすると、日本語選択のダイアログが表示されます。
まだ、翻訳されているページは少ないですが、これを第一歩に日本語のページを増やしていきたいと思います。
Posted at 12:16午前 3 03, 2009 by kenji in JavaFX の素人 |
2009年 3月 02日 月曜日
JavaFX: Software Design に記事を書きました - NetBeans ではじめる JavaFX スクリプト入門
久しぶりの update ですが、技術評論社さまの Software Design 4月号に、「NetBeans ではじめる JavaFX スクリプト入門」という記事を書かせていただきました。
そのページで紹介したサンプルのソースコード等を載せた「補足サイト」をアップしました。
http://blogs.sun.com/kenji/page/reference
発売までにはもう少し変更して、いいページにしようかと思っていますが、宣伝も兼ねて先にアップだけしてしまいました。
Posted at 04:23午後 3 02, 2009 by kenji in JavaFX の素人 |
2009年 2月 17日 火曜日
Sleeping Sheep さん: テニスサークル
息抜きにテニスの話題を。
Sleeping Sheep さんの体験練習に何度か参加させてもらいました。田園都市線エリアで活動していらっしゃるテニスサークルで、今のところは主に、緑テニスガーデン で行っているようです。うちからとても近いので、とりあえず様子を見させてもらおうと思って参加させてもらいました。
新規で参加希望のみなさまへ という項目をみると、
と書いてあるとおり、私のような30過ぎてからテニスを始めたおっさんでも、優しく迎え入れてくださいました。ただし、上級の方が多く、ダブルスの試合とかするとボコボコにやられてしまいます... また、女性なので、やさしくサーブを打ったりすると、強烈なリターンで身動きすら取れなかったりします。
皆さん上手ですねー。ここで練習させてもらえれば、うまくなりそうですね。
Posted at 03:09午後 2 17, 2009 by kenji in テニスやってる人には見えない blog |
2009年 2月 16日 月曜日
JavaFX ランタイム 一億ダウンロード突破!!
言わずとしれた Sun の総大将 Jonathan Schwartz's Blog からの情報です。
JavaFX のランタイムのダウンロードが 100,000,000 を突破したそうです。
い、一億??
間違いかと思い、何度も数字を確認してしまいました。リリースしたのが、昨年の12月ですから、聞いたことがないスピードです。百万じゃないのかなぁ... それでもすごいですけど。
でも、文中に何度もでてきているので、おそらく間違いないでしょう。
# さくらばさんより、コメントを頂きましたので、そちらも参考にしてください。
Posted at 03:50午後 2 16, 2009 by kenji in JavaFX の素人 | 投稿されたコメント[2]
2009年 2月 12日 木曜日
JavaFX 1.1 リリース
JavaFX 1.1 がリリースされました!
前回のマイクロリリース (1.0.1) とは違い、NetBeans 用の Plug-in や、 Production Suite も同時に、リリースされています。
JavaFX 1.1 の目玉はなんといっても、JavaFX Mobile の公式サポートです。 Mobile World Congress に合わせてリリースされました。
NetBeans のプロジェクトのプロパティから、"Run in Mobile Emulator" を選択すると、
エミュレータから起動できます。
下の例は、以前作ったスマイルのサンプルを、JavaFX Mobile エミュレータで起動した画面です。
その他では、
- 言語仕様の改善。すべての Java numeric 型 (float, double, long, int, short, byte)がサポートされるようになりました。
- パフォーマンスの改善や、バグフィックス
となっています。
JavaFX 1.1 の新機能の詳細等は、 リリースノート を参照してください。
JavaFX プラグインを NetBeans で既にお使いの方は、プラグインを更新してください。新規に JavaFX 1.1 をお使いの方は、 http://javafx.com/downloads/all.jsp からダウンロード可能です。Production Suite もここからダウンロードできます。
Posted at 05:52午後 2 12, 2009 by kenji in JavaFX の素人 |
「ここが知りたい NetBeans 6.5」が発表されました。
SDC に記事を書きました でも紹介しましたが、SDC に JavaFX について書いた記事がアップされました。
ここが知りたい NetBeans 6.5 の 第1回:JavaFX プラグインを使ってみよう! です。是非、読んでみてください。
Posted at 01:14午前 2 12, 2009 by kenji in JavaFX の素人 | 投稿されたコメント[2]
2009年 2月 11日 水曜日
シングルス
今日はシングルスの試合でした。結果は... 負けました。惨敗です。うーん、なんででしょう?
もちろん、相手の方は上手だったのですが、それ以上に自分で負けた感じです。
ともかくサーブがキープできませんでした。ファーストの入りが悪いというほどでもなかったのですが、
いいサーブが入ったの戦略がないんですよね... 後、セカンド弱すぎです。全部、強打されていました。
また鍛えなおしですが、以下が今日の教訓です。
1. セカンドをもう少し強く。
2. ファーストがいいところに決まった後の勝ちパターンのようなものを考える。
(サーブ&ボレーですかねぇー、いま自分の一番の勝ちパターンは)
3. フォアを打つときにオープンになることが多いのですが、かすれ打ちみたいになることが多いので、クローズドスタンスできちんと打つ。
いつになったらうまくなるんでしょうねー。
Posted at 10:42午後 2 11, 2009 by kenji in テニスやってる人には見えない blog |