我需要的是在Java中一些好的庫,以協助我在這個過程中(時鐘部件,隨後更復雜的圖形用戶界面)。所以我想從jgoodies,免費的圖書館。
也許你不需要像你認爲的那樣需要圖書館。從最初的原則學習東西,你會更好地學習它。
所有主要的Java GUI框架都已經相當高級和功能。當你第一次開始時,我認爲你應該跳過第三方庫,看看你在基礎JRE和你選擇的框架中提供了多少。只用基本框架,Java語言和JRE就足夠了。如果您嘗試在其他框架中過早添加,最終會導致過載,困惑和生產力下降。另外,增加圖書館的抽象可能會妨礙你足夠好地學習一些重要的基本原則。
一旦你在大樓的東西多一點經驗,那麼你將有一個更好的主意,其中在框架的差距是您的應用程序,你可以在第三方庫在那個時候添加。
規劃做一個簡單的時鐘部件
如果您遇到問題,這裏是一個JavaFX時鐘代碼:How to draw a clock with JavaFX 2?或Swing有着相似的應用。
注意,創建一個時鐘比創建一個傳統形式的基於GUI,使得使用預定義的控件庫的有點不同 - 但任何主要的Java GUI框架,可同時處理任務。
不要讓時鐘成爲您的第一個GUI編程任務,更輕鬆一些。然後嘗試稍後創建一個時鐘。
使用擺動精確的佈局確實是一個困難的工作
有交互式圖形佈局管理器的Swing和其他框架(例如優秀的SceneBuilder爲JavaFX),這使它更容易些。
但是,首次啓動時,可能值得手工編寫代碼,而不是讓工具爲您管理佈局(例如,在學習JavaFX時,僅使用Java API,並且在完全舒適之前不要使用FXML與Java API)。您將通過這種方式更好地瞭解佈局管理和其他事情的細節。當然你會犯一些錯誤,會有一些挫敗感,但是事情會隨着時間的推移而變得清晰起來。你最終可能最終決定你更喜歡手工編碼,而不是使用圖形工具。
棘手的部分通常是創造高質量,動態調整大小的圖形用戶界面好看在不同的分辨率和窗口大小 - 這通常是棘手的初學者,無論使用什麼GUI工具包。
JavaFX中的佈局管理器非常類似於Swing中的基本佈局管理器 - 所以佈局明智有兩個框架之間的差別不大。
保留模式場景圖JavaFX中可以更容易一點比搖擺的直接模式的繪畫工作,但我想這是不是很相關的佈局。
內省工具,如ScenicView JavaFX的,在運行時緩解調試佈局。把ScenicView這樣的東西想象成類似於Firebug for HTML的東西(例如你的基本佈局調試伴侶)。
現在我完全困惑和搞砸了該做什麼,不明白什麼。
你明白你比你認爲的要多,或者你不會問這個問題。你應該做什麼(IMO)只是選擇一個Java GUI框架(任何框架 - 它們都是可以通過的),選擇一個體面的開始任務(看起來很簡單 - 甚至比一個時鐘更簡單)並開始編碼。使所有任務相關;非常小的任務和明確的最終目標。寫出大量的代碼,總是回過頭來修改你的代碼,並且它的輸出是爲了儘可能使它達到最佳狀態 - 不要滿足於足夠的程度。
嘗試畫彩虹和幸福的笑臉 - 當你的代碼,看看它在屏幕上,你會自我感覺良好:-)
如果您需要在Java語言進修,跟隨甲骨文Learning the Java Language trail 。這是我多年前學習Java的方式。多年來一直保持這種狀態,所以它今天仍然是一個很好的資源和有用的資源。
如果您選擇Swing,請按照來自MadProgrammer的起始鏈接。
如果您選擇JavaFX,請遵循JavaFX tutorials和Ensemble sample app,但請注意,某些JavaFX教程面向更有經驗的程序員。
java.sun.com和其中的參考文獻是Java語言基礎知識的最佳來源。 Oracle現在擁有Java,所以這裏也可能有很好的資源。 – abiessu