2016-11-17 97 views
0

在網上閱讀了關於JPanel一段時間後,我覺得在閱讀它之後仍然需要澄清。我的問題:JPanel和Java佈局管理器

  1. 什麼是JPanel主要用於?
  2. 哪個佈局管理器最靈活使用?
  3. 如何使用佈局管理器定位某些區域的組件?

我發現真的很難使用佈局管理器來定位容器內某些區域的組件。

你推薦使用哪種佈局管理器?或者你必須使用不同的佈局管理器?

+0

我回滾了你的問題,因爲'@ camickr'從以前的版本中回答了你的問題。 –

+0

好吧謝謝!似乎更好! –

+0

@TT。就目前而言,3個問題「太廣泛」。我讓OP選擇一個並將其他人分成不同的線程。可以說,camickr不應該回答,你不應該回滾OP的編輯。 –

回答

2

我的第一個問題是JPanel主要用於什麼。

你已經知道了。您將組件添加到面板。

我的第二個問題是佈局管理器是最靈活的使用

更靈活的是佈局管理器,更復雜的佈局管理器使用。所以技巧是設計你的GUI的邏輯,然後使用多個面板與不同的佈局管理器來實現你的願望效果。

每個佈局經理都有自己的長處和短處。

我發現真的很難使用佈局管理器在組件的某些區域定位組件。

這是舊思維。您不應該試圖專門定位組件。您通常定位組件,並讓佈局管理器在用戶更改框架大小時進行調整。

也許你想要組件居中,或在網格中。有不同的佈局經理來完成你的任務。我們不能給出具體的建議。如果你有一個特定的問題,然後作爲一個具體的問題,並張貼你的代碼,顯示你已經嘗試過。

但首先,請閱讀關於Layout Manager的Swing教程,並下載示例代碼播放和代碼,以瞭解它們各自的工作原理。你通過嘗試學習。

2

您推薦使用哪種佈局管理器?或者您必須使用不同的佈局管理器。

這取決於GUI。除了最瑣碎的用戶界面外,我通常會使用佈局管理器的組合。在另一方面,一些喜歡嘗試和使用更復雜的佈局,這些相同的圖形用戶界面,使用佈局,如:

  1. GridBagLayout - 年紀大了,但相當多才多藝。
  2. GroupLayout - 更新,更強大,並且提供了更好的能力來排列彼此不相鄰的元素,但被認爲是很難手寫的,大多數情況下使用的GUI設計器會產生不能移植到下一個代碼的代碼GUI設計者或IDE。
  3. MigLayoutFormLayout
1

JPanel第三方佈局管理器可用於:

  1. 至於其他組件的容器
  2. 基地定製插件
  3. 繪圖區域

MigLayout是最靈活的佈局管理器。

有在Swing多數佈局管理器,但在我看來 只有三個是由工作:

  1. MigLayout
  2. GroupLayout
  3. FormLayout

由於MigLayout是(大大)改進FormLayout,我通常推薦 前兩名經理。

使用各種經理的混合是一個不好的做法。這是一種克服基本佈局管理器簡單性的方法。應該選擇一個好的佈局管理器,而不是與多個佈局管理器糾纏在一起。大多數佈局可以通過MigLayoutGroupLayout輕鬆完成。