跳到主要內容

BMI Calculator ver 1.1

話說, 雖然接觸 Java 已經很多年了, 剛開始跨足寫 JavaFX 時卻還是像個新人一樣, 所有程式寫在同一個檔案裡頭, 所以趁這幾天比較有空, 重新改寫了 BMI 計算小程式, 噹噹噹~~!!! 1.1 版正式發佈!!!!!
已經嵌在 blog 右方的 1.1 版, 雖然乍看之下並沒有太多不同, 但是整隻程式已經利用簡單的 MVC 架構重新設計 (雖然這隻程式裡頭並不需要 Model). 另外, 還利用了 JavaFX 的 RIA 界面設計強項, 重新改寫了整個使用界面, 最明顯的就是無邊框設計, 可拖拉 Applet [註] 和呈現 BMI 數值時的視覺效果. 到底差異有多少? 自己動手玩玩看就知道囉 ~^___^~
對於一個全新的技術, 在不熟悉的情況下, 開發的過程中難免撞到牆, 值得慶幸的是擁有過去的程式開發經驗, 這都幫助我能快速的上手.

[軟體開發環境]
  • OS - Mac OS X 10.5.7
  • JDK - 1.6.0_13 (64-bit)
  • JavaFX - 1.2
  • IDE - NetBean 6.5.1
同樣的, 分享一些開發過程中遇到的問題與心得, 希望對有意願嘗試撰寫 JavaFX 的朋友們有幫助.
  1. 使用大括號 {} 進行字串的串接
    println("我是測試字串 {1} 我是測試字串{1+1}");
    印出的結果 => 我是測試字串1 我是測試字串2
    和 Java 使用加號 (+) 進行字串的串接不同
  2. 以指派方法的方式進行事件的註冊
    demoButton.action = press;
    和 Java 利用新增 Listener 的方式不同, 在 JavaFX 是利用指派 (asign, =) 進行事件的註冊. 可以用已宣告方法的名稱 (上述範例中的 press), 或是直接宣告匿名方法.
至於 Keyframe 的使用, 無邊框程式的寫法, 可拖拉 Applet 的設計, 都可以參考 JavaFX 官網 的範例, 或參考分享於 JavaWorld 的完整 NetBeans 專案檔, 有需要的朋友也歡迎去那邊下載和討論.

話說趁這兩天在家, 於是在 MacBook 上安裝了 VirtualBox, 跑起了多系統. 依照官方說法, JavaFX 從 1.2 版開始正式支援 ubuntuOpenSolaris, 雖然是 beta 還是想親自跑跑看. 接著~ 我開始在小鋁 (我的末代鋁 MacBook) 上安裝這兩種作業系統, 但不曉得為什麼? 也許是小鋁硬體的問題, 也許是 VirtualBox-OSX 版的問題, 又或許是 OpenSolaris 和 VirtualBox 兄弟釁牆 (同是 Sun 的專案), 總之因為不明的原因, OpenSolaris 在我的系統環境中運作得很不順暢, 儘管我已經設定了較多資源給 OpenSolaris 使用, 卻還是比 ubuntu 9.04 慢上很多. 因此, 目前留在我系統中的只有 ubuntu 9.04. 在安裝完 ubuntu 系統後, 使用者必須自行安裝 JRE 套件, 預設沒有 Java 環境, 完全設置好以後, 就要測試一下囉!

如 Sun 所宣佈的, JavaFX 1.2 版開始支援 ubuntu 這套 Linux 作業系統

JavaFX 的 draggable 特性也已經實做在 ubuntu 的平臺上

題外話, ubuntu 9.04 的開機速度和內建的中文顯示環境, 怎麼感覺都比老爸新電腦的 Windows Vista 還優啊!!? 對免費作業系統有興趣的朋友們, 真的推薦可以使用 ubuntu 這套適合一般人使用的作業系統!!

[註] 可拖拉 Applet 的測試方法, 為於程式上方 (身高輸入框的上方) 按住 alt + 滑鼠左鍵, 即可把這隻程式拖出網頁, 目前 Mac OS X 10.5 並不支援這項功能.

留言

這個網誌中的熱門文章

引數?! 參數??!! 什麼鬼啊!!

我想這個不僅是只有我會遇到的問題, 大概也是所有 Programming 的人都有的疑惑 (應該是吧?) 什麼引數?? 什麼參數?? 天啊... 到底是誰翻譯的呀!!!! 就字面上來看... 講句實在話, 我真的不了解, 大概是學藝不精所致. 也許有些人認為 => 管它那麼多!! 寫得出來就好了!! 不過龜毛如我, 我還是想搞清楚定義是什麼!

世界第一! 臺灣的驕傲! iPod 全球最貴 XD!!??

2009 年 9 月 10 日 凌晨 1 點鐘, Apple 於美國舉行了 Apple Special Event September 2009 . 先說點題外話, 這場演說對 Apple 迷而言, 是久違的一場, 也不知道還能有幾場像這場一樣, 由 Steve Jobs 親自站臺. 這場演說的主題, 除了 iTunes 9, iPhone (iPod touch) OS 更新為 3.1 外, 就是 iPod 產品線的更新. 在看完發表會之後, 我去研究了一下新 iPod 的全球售價, 這也是這篇文章的重點, 蘋果臺灣的定價創下了新的紀錄- 套用一下最近常聽到的 Slogan 世界第一, 臺灣的驕傲, iPod 全球最貴!!??

關於 Polymorphism! 是的, 就是多型!

這幾天真的是寫了好多關於程式基礎的東西, 今天心血來潮想寫個物件導向的特性 - Polymorphism. 是的, 你沒看錯, 就是多型. 多型, 這有什麼好寫的呀? 每本物件導向的書籍, 不管是程式語言或是方法論, 一定都會提到的基本特性. 去書局翻翻就有了, 甚至在網路上搜尋 “物件導向” “多型”, 就可以找到讀也讀不完的資料. 在這老調重彈, 似乎有點... 多餘? 會想把這個議題拿出來講, 關鍵就在於我發現 Objective-C 上的多型, 和我以前認識的不太一樣, 更加 Powerful.