2012-01-12 94 views
0


我編程這個級別的創造者遊戲我和我的幾個朋友都在做,但截至目前的GUI使用一個空的佈局,我不想。它現在工作正常,但我仍然反對它,我知道其他人也鼓勵你始終使用LayoutManager。我不是真的願意妥協的設計,因爲它是現在,所以我非常想知道,如果有一個佈局管理,讓我來創建一個圖形用戶界面,看起來像這樣:
enter image description here在Java API中是否有一個LayoutManager允許我這樣做?

它有在標準的JAVA API中! :)

+0

的FlowLayout,但不會讓我把JScrollPane的這些Jbutton下。 – Benjamin 2012-01-12 19:47:28

回答

2

這對BorderLayout來說看起來很不錯。將按鈕放在嵌套容器中作爲NORTH元素。將JScrollPane添加爲CENTER組件。網格本身看起來好像是GridBagLayout或者GridLayout的一個好選擇。

2

簡短的回答,是的:GridBagLayout。但這將是一個痛苦的工作和調試。

龍答:它看起來像你對我可以做到這一點最好用BorderLayout,對於JButtons一個JPanelJTable定製TableCellRenderersTableCellEditors

0

使用的GroupLayout的整體面板和地圖自定義繪製方法。

我不認爲很多人在這裏建議GroupLayout的,因爲它比其他佈局管理更加複雜。我喜歡它,因爲它產生了很好的可擴展結果,所以我花時間去理解它。現在,我幾乎不用其他任何東西 - 尤其是用於帶按鈕和文本字段的用戶交互面板。

對於地圖,不過,我想創建一個自定義MapPanel並覆蓋paintComponent()。當然你必須編寫自己的自定義滾動算法,但是我認爲這對於不必處理滾動條來說是一個小好處。你可以做到這一點,所以有人可以拖動鼠標移動地圖。使用鼠標滾輪放大,並使界面非常直觀。如果你想畫滾動條,你也可以這樣做。

我已經使用這樣的模型構建了幾個接口。我已經爲使用此模型的遊戲製作了幾張地圖,以及金融市場製圖軟件包。它使得添加自定義功能非常容易,以做一些偉大的事情,這將是JTable中嘗試做的噩夢。

相關問題