.txt地图在java游戏中不起作用

.txt地图在java游戏中不起作用,java,swing,multidimensional-array,filereader,Java,Swing,Multidimensional Array,Filereader,我的小程序应该读取名为map1.txt的.txt文件,并将其中的字符存储在Char[]]数组中。根据map1.txt中的字符,如果字符为“x”,我的平铺类将绘制为红色,否则绘制为绿色。(相反,程序显示面板后面的内容,而不是红色和绿色的框。编辑) public类MainClass扩展了JPanel{ 静态磁贴[][]磁贴=新磁贴[SomeInts.amount][SomeInts.amount]; 静态映射=新映射(); 公共主类(){ 这个.背景(颜色.白色); } 公共组件(图形g){ 超级

我的小程序应该读取名为map1.txt的.txt文件,并将其中的字符存储在Char[]]数组中。根据map1.txt中的字符,如果字符为“x”,我的平铺类将绘制为红色,否则绘制为绿色。(相反,程序显示面板后面的内容,而不是红色和绿色的框。编辑)

public类MainClass扩展了JPanel{
静态磁贴[][]磁贴=新磁贴[SomeInts.amount][SomeInts.amount];
静态映射=新映射();
公共主类(){
这个.背景(颜色.白色);
}
公共组件(图形g){
超级组件(g);
对于(整数x=0;x
您正在展示的代码有一个无限循环,您在这里的想法有点不正确。 您拥有的逻辑读取一行,然后只要该行不为空,它就会循环。无论行从一开始是空的,还是不是空的,它都不会自行更改。处理当前行后,需要读取新行

您还需要将y重置为0移出循环。现在将y设置为0,将其增加1,然后再次将其设置回0

String line = null;
int y = 0;
try {
    while ((line = in.readLine())!= null) {
        for (int x = 0; x < line.length(); x++){
            charmap[x][y] = line.charAt(x);
        }
        y++;
    }
} catch (IOException e) {
    e.printStackTrace();
}
字符串行=null;
int y=0;
试一试{
而((line=in.readLine())!=null){
对于(int x=0;x
你得到了什么?图片上什么也没告诉我图片上什么也没显示。现在已编辑,所以现在很抱歉。我应该在图片中查找什么?如果是输出。。它是隐藏的,不应该是代码,而是红色和绿色的盒子。
String line = null;
int y = 0;
try {
    while ((line = in.readLine())!= null) {
        for (int x = 0; x < line.length(); x++){
            charmap[x][y] = line.charAt(x);
        }
        y++;
    }
} catch (IOException e) {
    e.printStackTrace();
}