NetBeans

JavaFX で足し算のお勉強

JavaFX NetBeans

JavaFX を少し前から触りだしたのですがさっぱり解らない状態のままです。

某サイトの記事を参考に進めているのですが行き当たりばったりでやってます。

ということで今回はちょっとした足し算を出題するプログラムを組んでみることにしました。

特に難しいことはやってないし、GUI の設計は JavaFX Scene Builder でポトペタやれば NetBeans IDE との連携で楽ちんだよ!

AnchorPane のコードプロパティでコントローラ・クラスを NetBeans IDE との連携により選択できます。

レイアウトとかの編集も視覚的に確認できて楽です!

4

 

Button のコードプロパティでは fx:id , On Action などの設定も可能です。

NetBeans IDE との連携機能で JavaFX アプリを創るにはこれしか無いってほど強力ですね。

5

 

そんなこんなでできあがったのはこんな感じの完成度の低いアプリです。

1

2

3

 

TextField には入力制限をかけたかったのですが面倒なことをしなくてはいけなそうなので 0 から 9 以外の文字(全角文字も)が入力された場合はエラーメッセージを出すように手を抜きました。

標準で入力制限をかけるようなものが用意されてないのは残念です。(あるかもしれません。)

JavaFX はじめて 3時間くらいでここまで出来るのは優秀な開発環境のおかげですね。

それではソースコードを載せておきますね。

まだ JavaFX をはじめたばかりなので間違いがあるかもしれませんが笑って許してくださいね。(^_^;)

ついでに Java Web Start もリンクしておきますね。

 

Webstart: click to launch Calc app as webstart

 

適当だけど組んだプログラムが動くってことは今でも素直に嬉しい!

もっといろいろ楽しめそうな気がしてきました。(^_^)

cludia_2013_08_05_001

 

Hatena タグ: ,

JavaFX はじめました! FXML 編

JavaFX NetBeans

今日は FXML を使って JavaFX でお約束の Hello World を創っていきます。

JavaFX Scene Builder を使えば Android アプリをつくるようにできるらしいのですが

私は JavaFX Scene Builder を一度も使ったことないし、設定項目の多いプロパティもよく解らないので適当にやってみます。(ヲヒ

メニューバーから[ファイル]-[新規プロジェクト]を選択します。

そして今度はプロジェクトの項目は JavaFX FXML Application を選択し、[ 次> ] ボタンを押します。

1

 

FXML を使うので FXML 名を記入します。

そして [ 終了 ] ボタンを押します。

2

 

NetBeans IDE によって下図のようにプロジェクトが作成されます。

Hello.fxml

HelloController.java

HelloWorld4FXML.java

が作成されているのが確認できます。

3

 

HelloWorld4FXML.java

4

 

HelloController.java

5

 

Hello.fxml

6

 

それではこのまま動かしてみましょう。

7

 

Click Me! と書かれたボタンを押すと Hello World! とラベルに表示されます。

それと標準出力にも You clicked me! と出力されます。

8

 

GUI の設計は FXML でイベントコントロールは HelloController.java (コントロールクラス)で行ってますね。

さて、NetBeans IDE が自動生成してくれたコードを動かすだけでは面白くないので少し変更してみます。

GUI を少し変更したいので JavaFX Scene Builder を起動します。

Hello.fxml ファイルをダブルクリックするか、右クリックからのコンテキストメニューで [ 開く ] を選択します。

9

 

JavaFX Scene Builder が現在のプロジェクトの情報をもとに起動します。

10

 

右側にあるインスペクタで選択されたコンポーネントのプロパティを設定できるようです。

設定項目多すぎて解りません。(>_<。)

Java SE 8 がリリースされたら JavaFX のリファレンス本が出版されるだろうから詳細はそれ待ちってことにしよう。

今は直感的操作にたよります。

11

 

とりあえず、グリグリしてこんな具合にしてみました。(センスないなぁ・・・

11a

 

Hello.fxml はこのようになりました。

何やら赤いバッジがついてますが気にしない(ヲヒ

12

 

HelloController.java を次のように変更してボタンを押すたびに表示を変更するようにしてみました。

13

 

実行結果はこのようになります。

14

15

16

 

標準出力にも期待通りの出力がされました。

今回初めて JavaFX Scene Builder を使ったのですが複雑なハイテク技術満載の日本製家電製品を使いこなせない一般ユーザーの気持ちに似たものを感じました。

それぞれのコンポーネントのプロパティやエフェクト等を知らないと使いこなせないです!

やっぱり地道に情報収集して少しずつしっかり覚えていかなければいけないようです。

私の場合、ゆっくり楽しみながらがモットーなので面白くないと思った時点でストップして気が向いたら再開すればいいだけのことなので気楽です。

おそらく Java SE 8 がリリースされたらそれらの書籍とともに JavaFX の書籍も出版されるだろうし、

JavaFX Scene Builder を使って開発するのがスタンダードになるだろうからそれまでに予備知識として少しでも慣れておくことを目的としよう!(後ろ向き発言

cludia_2013_07_27_001

Hatena タグ: ,

JavaFX はじめました!

JavaFX NetBeans

冷やし中華はじめました!

JavaFX はじめました!

と言っても Java SE 8 のコアライブラリとしての JavaFX 8 の日本語の情報がまだあまり見当たらないのでボチボチとはじめます。

とりあえずは JavaFX 2.x あたりの情報を参考にしていくことになります。

まず、JavaFX とは?

どす黒い黒歴史そのものです。

始まりから現在に至るまで無かったことにとか、まるっきり別物のような変貌を遂げてきた歴史があります。

まぁ、これは仕方の無いことと言えばそれまでなんでしょうが・・・

ここへきて、今までの悪行を水に流してもらおうと Java SE 8 のコアライブラリにしてしまえってのは流石ですね。

つまり、Java SE 8 からは安心して使えるよって解釈していいんだよね、きっと!

そういうことでボチボチとゆっくり慣れることにしようと思います。

それでは早速はじめることにしましょう。(^_^)

開発環境は

JDK™ 8 Early Access Releases

NetBeans IDE 開発版

Scene Builder 1.1 Developer Preview

を使っていきます。

それぞれが開発版という不安定なものを使うけど、Java SE 8 のリリースまでには半年以上もあるからトラブルも笑って楽しみましょう。(^_^;)

上記の開発環境のインストールが完了したら、NetBeans IDE の [ ツール ] → [ オプション ] メニューから Java を選択して JavaFX Scene Builder を統合させます。

 

a1

 

これで快適な GUI 設計が可能になるはずです。(まだ一度も試してませんけど・・。(^_^;)

今回は、JavaFX Scene Builder は使う予定はないので追々試してみたいと思います。

それでは、お約束の Hello World! を創りましょう!

メニューバーから[ファイル]-[新規プロジェクト]を選択します。

 

1

 

新規プロジェクトウィンドウが表示されるので、カテゴリ[JavaFX]、プロジェクト[JavaFXアプリケーション]を選択し [ 次 > ] ボタンをクリックします。

 

2

 

新規 JavaFX アプリケーションウィンドウが表示されますので下図を参考に必要項目を記入して [ 終了 ] ボタンを押してください。

 

3

 

NetBeans IDE がとても親切なコードで迎えてくれます。

これがウザいと思うなら、先ほどの新規 JavaFX アプリケーションウィンドウの アプリケーション・クラスの作成のチェックを外せば OK です。

 

4

 

このまま実行してみましょう。

真ん中にボタンが一つあるだけアプリが立ち上がりました。

 

5

 

押してみます。

 

8

 

標準出力に、Hello World! って出力されてます。

Swing とはイベント処理が少し違うようですが同じようなものですね。(矛盾した表現 (^_^;)

Java SE 8 では Lambda 式を使うことができます。

NetBeans IDE は、Lambda 式が使えるよって親切に教えてくれます。

せっかくだから素直に変更させていただきました。

 

9

 

すっきりしましたね。

でも、型も省略してほしかったよ。

 

10

 

仕方ないので手動で変更w

 

11

 

これが未来の Java のコードなんですね。

肝心のコードの説明は面倒なのと、まだ良く理解できてないのでパスということで・・・(>_<)

だいたいのことは解るけど、JavaFX を始めるにあたり参考にしているサイトの情報も古くなりつつあるので・・・

Java SE 8 がリリースされて、情報が安定してから学習し直せばいいやってのりでやってます。

ここまでは NetBeans IDE が創ってくれたコードなのでそれだけでは面白くないのでラベルの表示とボタンのイベント処理を変更してみました。

ソースコードは下記のように変更しました。

間違い等あるかもしれませんが、その時は優しくそって教えてくださいませ!

 

実行結果は次のようになります。

 

12

 

13

 

14

 

ウィンドウが薄くなっているのは何かの間違いでなく、

primaryStage.setOpacity(0.7);

と設定しているからです。

ラベルのテキスト文字の表示をボタンが押されるたびに変更とカウントをしました。

レイアウトが酷いとツッコミがあると思うけどこれは超面倒なコードを書くのが嫌なのでわざとです。

この問題を解決するのには、JavaFX Scene Builder を使えば従来の Swing アプリケーションを

NetBeans IDE で開発するようにポトペタと楽に実際の配置を眼で確認しながら構築できるようになるはずです。

今回は初めての JavaFX ということでちゃんと動いてめでたし、めでたし!

 

cludia_2013_07_26_001

Hatena タグ: ,

もっと Lambda その7

Java NetBeans

今日も Java8 がらみのネタです。

今回はちょっといつもと違って私が愛用している高機能な開発環境について少しだけ触れてみたいと思います。

日本でも人気赤丸急上昇中の NetBeans です。

今は Java8 を試すのに開発版を使っています。

注目の Lambda にも徐々にですが対応してます。

以前にも少し紹介したので今回は逆パターンを紹介します。

つまり、Lambda を使わない無名インナークラスを使用する標準的な(?)コードに変換するという試みです。

サンプルは前回のエントリーの JavaCury.java です。

では、実際にどのように変換されるのかスクリーンショットを撮ってみました。

10 行目の Lambda 式を変換してみます。

2

3

4

5

6

7

8

9

見事に変換されました。さすが NetBeans !

では、もう少し試してみましょう。

10

この Lambda 式は引数の型が省略されてます。

ちまたでは Lambda 式の型省略は企業によっては禁止されるんじゃないかと噂されてます。

それでか、どうかは解りませんが省略された型をコードに追加する機能もあります。

さっそく試してみましょう。

11

12

省略された型がちゃんと追加され表示されてますね。(^_^)

ついでに Lambda 式を複数行で書く場合を試してみます。

13

14

ちゃんと return 文もつくられてますね。

さすがです!

では、無名クラスを使うコードに変換してます。

15

16

17

18

全ての Lambda 式を無名クラスを使うコードに変換したプログラムはこのようになりました。

これをみると Lambda 式ってけっこうイケてるかなって思います。

ちなみに Java8 と Java8 対応の NetBeans はまだ開発中なので動作が完全ではありません。

でも、開発版でグリグリやってると開発チームの熱い思いはしっかりと伝わってきます。

きっと Java8 対応の NetBeans もいつも通り素晴らしい出来でリリースされると確信してます。(^_^)

Technorati タグ: ,

NetBeans のルック・アンド・フィール

NetBeans

NetBeans のルック・アンド・フィールの変更がいつの間にか簡単になっていた。

なんで気付かなかったんだろう・・・

ってことで [ ツール ] → [ オプション ] でオプションウィンドウを表示させて、[ その他 ] → [ ウィンドウ ] のタブ画面で

ネィティブ・ルック・アンド・フィールの項目でお好きなものを選べます。

この Dark Nimbus なんてのは新鮮で気分転換にはいいかもしれないですね。

1

 

Hatena タグ:

« 古い記事 新しい記事 »