2010年7月2日 星期五

Java 視窗佈局管理 - GirdBagLayout 格群佈局管理員

原本設定視窗時,必須要利用 setBounds(int x,int y,int weight,int height) 來慢慢調整,尤其單位是使用 pixels ,在操作上十分麻煩,故改用 GirdBagLayout 來管理元件間的佈置。雖然 GirdBagLayout 是所有視窗佈局管理員內操作最為複雜的,但操作熟練以後,發現元件間的佈置更為方便了。

事件處理的重複註冊問題


起初我將各個功能視窗的生成,分別製作成 method 以方便管理,並自然而然在各 method 內幫元件進行事件處理的觸發註冊,然而彼此視窗間,時常會有返回先前視窗的動作,此時很容易會產生事件處理重複註冊的 Bug。


為求理解上的方便,故我們直接設定按下按鈕時,會先釋放舊有的視窗並重新產生原本的新視窗,做出類似視窗間重複返回的動作,如下列程式: