2013-04-05 100 views
0

查看代碼的最後一行,即我特別想將我的JPanel數組添加到容器的位置。非常感謝Guys或Gals!將JPanel數組添加到容器

代碼:

private JFrame b = new JFrame("Lotus"); 
private JLabel currentP = new JLabel(); 
private int currentS; 
private Container pieces = new Container(); 
private JButton exitt = new JButton("EXIT"); 
private ImageIcon B1=new ImageIcon("C:\\Users\\Brusty\\Downloads\\p1.jpg"); 
private ImageIcon B2=new ImageIcon("C:\\Users\\Brusty\\Downloads\\p2.jpg"); 
LinkedList<Stack<Integer>> spotList = new LinkedList<Stack<Integer>>(); 

//Creation of Gamepiece labels 
public void Labels(){ 

JLabel[] labelsP1 = new JLabel[10]; 
JLabel[] labelsP2 = new JLabel[10]; 

for(int i = 0 ; i < labelsP1.length ; i++){ 
    labelsP1[i] = new JLabel(B1); 
    for(int j = 0 ; j < labelsP2.length ; j++){ 
     labelsP2[j] = new JLabel(B2); 
} 
    Container c = b.getContentPane(); 
    c.setLayout(new GridLayout(13,3)); 
    c.add(pieces); 
    pieces.add(labelsP1); 
+0

可能重複:http://stackoverflow.com/a/2510425/931721 – 2013-04-05 02:13:39

回答

1

不知道我真的看到你的問題。你只需要遍歷數組labelsP1並添加標籤...

for (JLabel label : labelsP1) { 
    pieces.add(label); 
} 
+0

好吧,謝謝你,我不知道到底爲什麼購買調用pieces.add(labelsP1)導致Eclipse給我的錯誤:類型Container中的方法add(Component)不適用於參數(JLabel [])。對不起,如果這個問題有點不好。 – SuperNova 2013-04-05 01:58:43

+0

基本上,當您只想要一個「Component」對象時,您試圖將'add'方法傳遞給一個組件數組。讓我們說'加'預計'蘋果',你試着把它傳遞給'橙',顯然,這是行不通的。這兩種類型的變量不兼容。但是,由於該數組包含'Component',因此可以將每個元素傳遞給'add'方法 – MadProgrammer 2013-04-05 02:07:36

+0

Awwwh!這很有意義。 – SuperNova 2013-04-05 02:13:16