JavaFX

JavaFXでLightbox

JavaFXはやれば出来る子。 今日はもりもりとエフェクトをかけたリッチなGUIを作ってみました。WEBではよく見かけるLightboxです。 動くサンプルはこちらから。尚、エフェクトは若干やりすぎた感もありますが、反省はしていません。色々と実装してみて良くわ…

ローディングアイコンの作成

本日のJavaFXはローディング中などに表示されるアイコンです。 サンプルはこちらから。サンプルは大量にアニメーションをかけているので、環境によっては少々重いかもしれませんがご了承ください。

ドラッグ&ドロップ

定番ですが、ドラッグ&ドロップのできるノードをJavaFXで実装してみました。 実装自体は簡単なので、後は使いやすいようなインターフェイスにすることが重要です。いつものごとく、サンプルとソースコードはこちらから*1。 *1:MacのSafariだとキャッシュが…

カスタムコンポーネントでメニューを作ってみた

世の中はFlex(Flash) vs HTML5 vs Silverlightで、JavaFXなんて比較もされていませんが、どのようなRIAライフをお過ごしでしょうか? さて、今回はグローバルナビゲーションとかタブメニューとかそんなコンポーネントのサンプルです。 いつものようにサン…

フォームの作成

懲りずにJavaFXのネタです。 JavaFXの可能性を探っているわけですが、JavaFXでは非常に扱いやすいGUIコンポーネントの記述が特徴です。しかし、実際に開発を行うとすればGUIがどれだけ記述しやすくとも、管理画面などがサクサク書けなければ意味がありません…

ControlとSkin

JavaFXネタです、すいません><JavaFXのコントロールはボタンやテキストボックスなどのユーザ入出力のあるコンポーネントを提供する仕組みですが、Skinにより柔軟に見た目を変えることが出来ます。また、Behaviorはコントロールの振る舞いを定義するクラス…

T2 + JavaFX のAMF通信

先日のネタですが、id:yone098に対応していただきました(多謝!)。 こちらから動作確認をすることができます。尚、グラフが表示されるまで少しだけの間があるのは、データ取得処理を非同期で行っているからです。 つまり、次のような処理になっています。 …

JavaFX用Pygmentsを公開しました

PygmentsはTracで使われているコードハイライトモジュールですが、当然のごとくJavaFX Scriptは対応していません。そこで、プラグインとして作るのは簡単なようなので、作ってみました。 PythonのWikiであるMoinMoinでもこんな感じでハイライト

JTableをJavaFXで使う

JavaFXの強みのひとつとして、Swingのコンポーネントを再利用することができるということがあります。したがって、テーブルなどの機能に関しては無理にFXで書かずともSwingを使えばいいわけです。 とはいえ、簡単に使えることはいいことなので、JavaFXでJTab…

札幌Javaコミュニティ第14回勉強会

札幌Javaコミュニティの勉強会も去年の9月からはじめた為、ちょうど1年になりました。12回よりも開催が多いわけで月に1回以上のペースで開催しています。色々と問題もありますが、なにはともあれ継続した開催をするという事は達成できたわけで、今後も続…

T2連携をしてグラフ表示

ちょっとだけ凝ったアプリケーションを作成してみました。 内容としてはアプリケーションサーバ(GlassFish)の上にT2でウェブアプリを作成し、AMF通信にてデータを取得、JavaFXでグラフ描画という流れです。ソースコードは、こちらより参照のこと。見るだけ…

伸縮可能なボックス

JavaFX面白いのに反応がほとんどないのが悲しい今日この頃。さて、こんな感じのGUIで、ボックスの端をマウスでドラッグすることで値を変化させたい、ありがちなコントロールかと思います。 JavaFXで作ってみました。動くサンプルはこちらから。 結構、手の込…

Nodeの複製

JavaFXで同一のNodeを複数のコンテンツとして設定しようとすると期待通りに動作しません。 var circle = Circle { centerX: 50, centerY: 50 radius: 50.0 fill: Color.AQUA } Stage { title: "Duplicator Sample" width: 500 height: 500 scene: Scene { co…

CustomNodeの初期化はcreateメソッドで行う件

JavaFXではCustomNodeを継承したクラスを作成することで、幾つかのノードを組み合わせたようなノードを簡単に作ることができます。CustomNodeには抽象メソッドcreate:Nodeが用意されているので、このメソッドを実装(オーバーライド)すれば良いのですが、嵌…

フェードイン/アウトで画面の切り替える

今回はちょっと見栄えの良い画面転換ということでフェードイン/アウトを実装してみます。 アプリケーションの起動はこちらから。 ページ単位でシーングラフを作成 まず、切り替える単位でグループ化しておきます。 単体であればグループ化する必要もありませ…

三角形のボタンを書く

JavaFXでは、矩形以外の多角形はすべてPolygonで描画します。 が、正方形・長方形と同様によく使う図形なので、毎回Polygonで頂点を指定するのも面倒です。 こんな感じの三角形のボタンは簡単にかけると便利でしょう。 例えば次のようになります。 Polygon {…

JavaFX のシーケンスはキモいのか?

JavaFXでは配列やリストに相当するデータ型としてシーケンスがあります。一見、LLのリストのように配列オブジェクトで追加や削除などのメソッドが定義されているように思えますが、実態はJavaの配列に近く、記述方法がJSONっぽく書けるだけです。また、追加/…

JavaFX 1.2 非同期処理の概要(2)

JavaFX 1.2での非同期処理の続きですが、非同期処理の進捗などをGUIに反映する方法です。ただし、今回の範囲は今後のバージョンで改良されると思われます。 非同期処理の結果をコールバック関数で取得する 非同期処理のスレッドとEDTスレッドの間でデータを…

JavaFX 1.2 非同期処理の概要

はじめにお断り。JavaFX1.1から色々と変更のあった箇所の1つであり、まだまだ改良中なようで、バージョンアップ時には変わっていると思います。 非同期処理が必要な理由 JavaFXも一般的なGUIと同じようにシングルスレッドモデルで動いています。つまり、唯…

JavaFXでカスタムノードを作成する

JavaFX1.2がリリースされてからかなりたちますが、いかがお過ごしですか? NetBeansの6.7ではプラグインが対応していなかったり、そもそも流行らないだろうという噂ですが、JavaOneで発表されたオーサリングツールが公開されれば、また違う展開もあるかもし…