2015-10-02 56 views
0

我寫一個小卡片遊戲和重疊,到目前爲止,我有以下幾點:使組件的FlowLayout

  • 我有一個自定義的JPanel卡組件,其中i覆蓋的getPreferredSize()方法

  • 我也有一個自定義的HandView組件,它基本上只是向它添加了一堆卡組件。我也重寫getPreferredSize()並使用一個流佈局。

我的問題是,當太多的卡片組件被添加到handView它們不會顯示。我不想讓卡組件和手部件調整大小。我想要的是在添加太多卡時,使卡組件開始重疊。這是可能的流程佈局?

回答

3

這是可能與流佈局?

創建FlowLayout時,您可以指定水平間距。如果你使用負值,那麼你會重疊。

但是,您可能需要考慮專門爲此類佈局編寫的Overlap Layout。它爲重疊應該如何工作提供了不同的選項。

我想什麼是使卡組件開始互相重疊的時候太多添加

在你需要動態重置差距卡的添加/刪除,然後這兩種情況下重新驗證面板。

+0

重疊佈局看起來很有趣,但我無法讓它工作。由於某些原因,當我添加我的卡時,它不顯示任何內容。 (我稱之爲重新驗證 - 重繪方法)。我想我會使用負面差距方法 – user2302702

+0

@ user2302702,'當我添加我的卡片時,它不顯示任何東西。'嗯,我只是注意到一個問題,當你使用frame.setSize(...) t顯示,但是如果使用'frame.pack()',它們會顯示。不確定問題是什麼,當我有空時我會研究它。 – camickr

+0

@ user2302702,找到了錯誤並上傳了一個新版本。無論您在框架上使用setSize()還是pack(),組件都應顯示在重疊佈局上。 – camickr