2010-07-15 48 views
-1

我試圖做一個JPanel是在EAST一個的borderlayout內的一個4x5格...洙這裏是圖:的java的JPanel不工作

alt text http://i26.tinypic.com/11b7y2h.jpg

下面是代碼:

setLayout(new BorderLayout());

JPanel invOne = new JPanel(newGridLayout(4,5));

JPanel game = new JPanel();

add("Center",invOne); 

add("East", game); 

add("South", c); 

的for(int i = 0,J = 20;我< 20; I = I + 1,J = J-1){

invOne.add(新的JButton( 「時隙」 + j)條);

}

正如你可以看到invinventory插槽是重疊的遊戲面板,應該不會發生,因爲在遊戲面板中的BorderLayout和庫存面板的中心(invOne)上的東BorderLayout所以我不知道它爲什麼重疊...

help?

+1

我給你一個關於使用佈局管理器的Swing教程的鏈接。這不是如何使用BorderLayout將組件添加到面板。下載並運行演示程序以瞭解執行此操作的正確方法。如果您遇到問題,請發佈您的SSCCE(http://sscce.org)以顯示問題。 – camickr 2010-07-15 05:17:13

+0

從我在代碼中看到的東西,遊戲面板是東面,中心是invOne。 – 2010-07-15 06:04:42

+0

這不是使用BorderLayout添加組件的最佳方式,但代碼是正確的。問題必須在其他地方,或/和這是錯誤的代碼(遊戲是東,而不是中心描述)。我懷疑問題在於遊戲的定義或其繪製方式,但我們需要更多的代碼。 – 2010-07-15 08:18:15

回答

0

這是add(invOne, BorderLayout.CENTER);。你應該使用BorderLayout類中的常量而不是字符串。

+0

-1,這並不能解決問題。 OP給出了Swing教程的鏈接,該教程顯示了在之前的發佈中正確執行此操作的方法。他還被提醒再次閱讀教程。 – camickr 2010-07-15 14:48:02

+0

@camickr:它確實解決了他問到的問題,你可以在他的下一篇文章中看到:)順便說一句,我試圖尋找一篇文章,在發佈之前給他一個指向該教程的鏈接,但沒有找到它。 – 2010-07-15 16:07:26