2013-04-05 97 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