Java 如何将数组列表添加到jpanel?

Java 如何将数组列表添加到jpanel?,java,Java,到目前为止,这是我的代码。最终,我需要创建一个小版本的Keybricks文本游戏,而我在将瓷砖添加到框架中时遇到了问题。有人能解释一下我怎样才能把这个加上去,然后再把瓷砖加上去吗 package code; import javax.swing.JFrame; import java.awt.Component; import java.awt.LayoutManager; import java.util.ArrayList;`` import javax.swing.JPanel; imp

到目前为止,这是我的代码。最终,我需要创建一个小版本的Keybricks文本游戏,而我在将瓷砖添加到框架中时遇到了问题。有人能解释一下我怎样才能把这个加上去,然后再把瓷砖加上去吗

package code;

import javax.swing.JFrame;
import java.awt.Component;
import java.awt.LayoutManager;
import java.util.ArrayList;``
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.BoxLayout;



public class Game implements Runnable {
static final int width = 300;
static final int height = 500;


@Override
public void run(){

    JFrame f = new JFrame("KeyBricks Game");
    JPanel p = new JPanel();
    JLabel j = new JLabel();
    p.add(j);
    p.add(Tile);
    p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS));
    f.setSize(width,height);
    p.setVisible(true);
    f.add(p);
    f.setVisible(true);
    Tile A = null;
    Tile B = null;
    Tile C = null;
    Tile D = null;
    ArrayList<Tile> Tile = new ArrayList<Tile>();
    for(int i=0; i < 4; i++){

        Tile.add(A);
            Tile.add(B);
            Tile.add(C);
            Tile.add(D);
    }
        }
包码;
导入javax.swing.JFrame;
导入java.awt.Component;
导入java.awt.LayoutManager;
导入java.util.ArrayList``
导入javax.swing.JPanel;
导入javax.swing.JLabel;
导入javax.swing.BoxLayout;
公共类游戏实现Runnable{
静态最终整数宽度=300;
静态最终内部高度=500;
@凌驾
公开募捐{
JFrame f=新JFrame(“KeyBricks游戏”);
JPanel p=新的JPanel();
JLabel j=新的JLabel();
p、 加(j);
p、 添加(瓷砖);
p、 setLayout(新的BoxLayout(p,BoxLayout.Y_轴));
f、 设置尺寸(宽度、高度);
p、 setVisible(真);
f、 加(p);
f、 setVisible(真);
瓷砖A=空;
瓦片B=空;
瓦片C=null;
瓦片D=空;
ArrayList磁贴=新的ArrayList();
对于(int i=0;i<4;i++){
(A)加入(A);
加入(B);
加入(C);
加入(D);
}
}

在java中,变量名不能与对象名相同,因此应:

ArrayList<Tile> Tile = new ArrayList<Tile>();
ArrayList Tile=new ArrayList();
使用

ArrayList tile=new ArrayList();

然后在for循环中进行修改。

您可能希望使用非类名的变量名(例如,
ArrayList tiles=new ArrayList()
)。
ArrayList<Tile> tile = new ArrayList<Tile>();