我編程這個級別的創造者遊戲我和我的幾個朋友都在做,但截至目前的GUI使用一個空的佈局,我不想。它現在工作正常,但我仍然反對它,我知道其他人也鼓勵你始終使用LayoutManager。我不是真的願意妥協的設計,因爲它是現在,所以我非常想知道,如果有一個佈局管理,讓我來創建一個圖形用戶界面,看起來像這樣:
在Java API中是否有一個LayoutManager允許我這樣做?
它有在標準的JAVA API中! :)
我編程這個級別的創造者遊戲我和我的幾個朋友都在做,但截至目前的GUI使用一個空的佈局,我不想。它現在工作正常,但我仍然反對它,我知道其他人也鼓勵你始終使用LayoutManager。我不是真的願意妥協的設計,因爲它是現在,所以我非常想知道,如果有一個佈局管理,讓我來創建一個圖形用戶界面,看起來像這樣:
在Java API中是否有一個LayoutManager允許我這樣做?
它有在標準的JAVA API中! :)
這對BorderLayout來說看起來很不錯。將按鈕放在嵌套容器中作爲NORTH元素。將JScrollPane添加爲CENTER組件。網格本身看起來好像是GridBagLayout或者GridLayout的一個好選擇。
簡短的回答,是的:GridBagLayout
。但這將是一個痛苦的工作和調試。
龍答:它看起來像你對我可以做到這一點最好用BorderLayout
,對於JButtons
一個JPanel
和JTable
定製TableCellRenderers
和TableCellEditors
。
檢查可用於Java的出色文件由Sun本身:
http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html
你能找出GridLayout
和GridBagLayout
?如果你把它放到一個可滾動的容器中,那應該可以做到。
使用的GroupLayout的整體面板和地圖自定義繪製方法。
我不認爲很多人在這裏建議GroupLayout的,因爲它比其他佈局管理更加複雜。我喜歡它,因爲它產生了很好的可擴展結果,所以我花時間去理解它。現在,我幾乎不用其他任何東西 - 尤其是用於帶按鈕和文本字段的用戶交互面板。
對於地圖,不過,我想創建一個自定義MapPanel
並覆蓋paintComponent()
。當然你必須編寫自己的自定義滾動算法,但是我認爲這對於不必處理滾動條來說是一個小好處。你可以做到這一點,所以有人可以拖動鼠標移動地圖。使用鼠標滾輪放大,並使界面非常直觀。如果你想畫滾動條,你也可以這樣做。
我已經使用這樣的模型構建了幾個接口。我已經爲使用此模型的遊戲製作了幾張地圖,以及金融市場製圖軟件包。它使得添加自定義功能非常容易,以做一些偉大的事情,這將是JTable
中嘗試做的噩夢。
的FlowLayout,但不會讓我把JScrollPane的這些Jbutton下。 – Benjamin 2012-01-12 19:47:28