跳到主要內容

BMI Calculator ver 1.2.4

隨著學習 JavaFX 的過程中, 我慢慢的將這隻程式進行改版. 這次更新, 最大的差異就是顏色的配置和採用了語系檔, 當然還有其它的小變動, 捨棄使用 Java Class 改寫成 Pure JavaFX, 畫了 icon 等等.
只是 icon 目前只有在當成應用程式執行時會出現, 透過 Web Start 或 Applet 都沒辦法顯示, 推測是 JavaFX 本身的問題.網路上也沒找到可以支援我解決這個問題的文章, 暫時就只能等囉, 這就是學新技術難免會遇到的問題, 但也讓我看清楚, 距離軟體佈屬的完整性與易用性, JavaFX 還有進步的空間!
固然有語系的支援對開發軟體者或使用者來說都很好, but... 目前支援僅限於 JavaFX Desktop 的 Profile, 換句話說, JavaFX Mobile 尚不支援語系的內建函式 orz... 這個就 囧rz 了. 除了選擇自己利用其它套件寫之外, 好吧... 我這懶人就期待下一版 JavaFX 會有大幅度的 improvement!! Sun & Oracle 加油!!!!! XD


這就是除了下載整個專案執行, 不然透過 Web Start 或 Applet 執行都沒辦法看到的 icon 們 XD

接著就簡單說一下該怎麼進行語系的支援, 首先在 Java 中有 .properties 檔, 相對的, 在 JavaFX 中也有 .fxproperties 檔. 這就是用來作為語系支援的屬性檔囉! 在屬性檔中, 是成對的 key 與 value 的純文字, 範例如下:
"cm" = "公分"
等號的左邊 "cm" 是 key, 而等號的右邊 "公分" 則是 value, 值得注意的一點, 記得要用雙引號 ("") 來標明這是字串.

那在程式中該怎麼用? 用法超簡單!! 只要在需要用到的地方透過 ##key 就可以把 value 叫出來了, 範例如下:
def cm = ##"cm";
怎麼樣? 夠簡單吧!! 在 key 前面加上兩個井號 (##), 接著打上 key (別忘了雙引號), 就可以把語系屬性檔中的 value 給叫出來.

講到這, 我相信腦袋動得很快的你們馬上就會想到一個問題, 那如果有很多個語系屬性檔怎麼辦? 多國語系又該怎麼處理? 這正是 JavaFX Runtime 猛的地方, 只要在屬性檔的檔名下手就好了. 屬性檔的檔名是有規則的! 哪個 .fx 檔會用到哪個 .fxproperties 主檔名必須相同, 接著語系屬性檔必須標明語系. 簡單來說語系屬性檔的完整檔名必須為 主檔名_語系識別碼.fxproperties, 範例如下:
view.fx 中使用到 "cm" 和 "inch" 兩個 key, Java Runtime 會自動依照現在目前的語系名稱, 假設為英文 (en), 自動的尋找是否存在 view_en.fxproperties 這個屬性檔, 並且找出對應的 value 套用進 view.fx 的 JavaFX Script 中. 依照這種命名方式, 開發人員可以簡單的寫出支援多國語系的程式, 但請注意檔名必須要正確, 否則 JavaFX Runtime 可是會找不到語系屬性檔的!! 附帶一提, 正體中文的語系碼為 zh_TW, 請牢牢記好 :P

喇咧了這麼多, 希望對一些同在學習 JavaFX 的朋友們有些幫助, 但... 怎麼都沒人來一起開發呀 XD 明明已經放在 Kenai 上這麼久了 orz... COME SOMEBODY!!! I NEED HELP!!!!!! 手機正式支援 JavaFX Mobile 環境的日子已經不遠了, 誰來幫忙改個 Mobile 版吧 囧rz...

留言

這個網誌中的熱門文章

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

我想這個不僅是只有我會遇到的問題, 大概也是所有 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.