跳到主要內容

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

誰讓你心動, 誰讓你心痛, 誰會讓你偶而想要擁他在懷中... 誰又在乎你的夢, 誰說你的心思他會懂, 誰為你感動... 許久沒聽到這熟悉的詞與曲, 更懷念那甜美細膩的好嗓音. 於是趁著空檔, 拿出了放在那如同收藏我的回憶般, 收藏櫃子裡頭的兩張專輯.

第二章 緊急返鄉 - 推著爺爺去散步

也許是曾經身為軍人的關係, 爺爺很排斥使用輪椅... 也許是曾經身為一家之主的榮耀, 縱使小便不方便卻堅持不肯使用尿壺... 也許就是因為爺爺是爺爺, 所以很少開口要我幫忙他些什麼凡是自己來, 總是他在給我, 我卻很少能給他什麼... 只是兩次的手術, 在病床上躺久了, 他的身體狀況真的大不如前... 沒辦法想自己起來走走就走走, 想坐到沙發就坐到沙發, 想拿起遙控器看看電視就拿, 想回房休息就回房間. 這樣的光景, 以前是再熟悉不過的... 很希望爺爺真的能趕快好起來, 而回家時一切都沒變, 爺爺看到我回家開心大笑起身握握我的手... 現在的他, 只能任我們宰割... 儘管他再怎麼使勁, 那纖細的雙腿依然撐不住他的身子, 不喜歡輪椅也得坐輪椅... 儘管他再怎麼不願意, 行動不方便的他還是被我們包了尿布, 不喜歡尿布也得包尿布... 爺爺一點點的隱私, 一點點的尊嚴也不剩, 連不願意吃飯, 都被我們直接灌食, 連絕食的權力都沒有...