2009-01-01から1年間の記事一覧

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が用意されているので、このメソッドを実装(オーバーライド)すれば良いのですが、嵌…

クラスとは変数をまとめて使う事のできるテンプレート

クラスってなにか、というのは教える相手によって結構表現が違うわけで、いきなりオブジェクト指向が…とか騒ぎ出す人はどうかと思う。で、「なかなか覚えられないPHPのclassについて考えてみた」というエントリーから。 空いている時間にPHPの学習をはじめて…

Pythonの開発環境をvimに整える

vimでPythonの開発環境を作ってみました。 自動インデント コード補完 スクリプトの実行

Java並行処理プログラミングの復刊交渉が開始されたようです

何度かプッシュしている良書「Java並行処理プログラミング」ですが、復刊のリクエストが200票を超えた事もあり、復刊の交渉が開始された模様です。交渉材料にもなると思いますので、投票をしていない方は是非、1票お願いします。 「Java並行処理プログラミン…

django-admin.pyとmanage.pyのコマンド補完

bash限定のようですが、コマンド補完をいれておくと便利です。 スクリプトは配布パッケージに含まれているのですが、esay_installすると含まれていないため直接ダウンロードします。 $ cd ~ $ wget http://code.djangoproject.com/browser/django/tags/relea…

CentOS5.3にPython2.6でDjango1.1の開発環境を作成する

CentOSではPythonが2.4と少々古いが、システムでPythonに依存している箇所が多くデフォルトのPythonを置き換えるのは好ましくない。 そこで/opt/python2.6にソースからインストールし、Djangoで開発が出来る所までの手順メモ。 設定とゴール CentOS 5.3を使…

WEB DB PRESS vol52

ちょいと遅れて入手、まあ北海道だから仕方なし。 今号は良いコードを書く為のJavaの習慣とvimの記事がメインで、とりあえずJavaの方を読んだので感想とツッコミ。 結論から言えば、「新人さんに贈る」と表紙で煽ってますが「文法レベルの理解から先に進みた…

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

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

三角形のボタンを書く

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

finalをつけたらパフォーマンスが落ちたでござるの巻

山岳信仰の盛んだった日本では山奥の開発現場など、まだまだfinal信仰が盛んなわけですが、先ほどのコードにfinalを付けてみました。 public static void main(String[] args) { final int NUM = 31; long start = System.currentTimeMillis(); for (int i =…

Java5とJava6のパフォーマンス

前々から言われていることですが、Java6はJava5に比べて爆速なわけです。 札幌Javaコミュニティの勉強会でEffective Javaを使っているんですが、検証で少し調べていたら思った以上の数字が出たのでメモ。 検証に試用したコードはこれだけです。 public stati…

HttpComponents - Client の使い方メモ

昔はCommons http clientとか言われてましたが、HttpComponentsという形でCommonsから独立し、サーバ作ったりとかClient以外のことも色々できるようになったライブラリです。 http://hc.apache.org/

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

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

JavaFX 1.2 非同期処理の概要(3)ー 非同期処理の進捗を通知する

まったく人気のないJavaFXネタですが、当面は続くと思われます。使ってみると思った以上に面白いです。 今回は非同期処理の概要としては最終回。非同期処理の進捗を表示するような場合にどうするかです。これまでの非同期処理は終わった時に関数が呼び出され…

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

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

JavaFX 1.2 非同期処理の概要

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

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

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