无法从Java Project访问终端中的.png文件

时间:2013-03-17 23:23:07

标签: java eclipse applet terminal

如果您需要更多代码,请告诉我们!

我可以在Eclipse中完美地运行该程序。但是一旦我访问文件并在终端中运行java Frame,它只显示我游戏的一部分。它不显示任何.png文件。

这是我的主要方法:

import javax.swing.*;
import java.awt.*;

public class Frame extends JFrame {
public static String title = "Tower Defense Alpha";
public static Dimension size = new Dimension(700, 550);


public Frame() {
    setTitle(title);
    setSize(size);
    setResizable(false);
    setLocationRelativeTo(null);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    init();

}

public void init(){

    setLayout(new GridLayout(1,1,0,0));

    Screen screen = new Screen(this);
    add(screen);

    setVisible(true);

}

public static void main(String args[]){
    Frame frame = new Frame();


}

}

以下是我访问Eclipse中的文件的方法,这在Terminal中似乎不起作用:

for (int i=0; i<tileset_ground.length; i++) {
        tileset_ground[i] = new ImageIcon("res/tileset_ground.png").getImage();
        tileset_ground[i] = createImage(new FilteredImageSource(tileset_ground[i].getSource(), 
                                        new CropImageFilter(0, 26*i, 26, 26)));
    }

1 个答案:

答案 0 :(得分:0)

似乎问题是在终端上,程序正在从Client/src folder运行,因此它会尝试在Client/src/res上查找不存在的图像。

另一方面,Eclipse保留单独的文件夹并使用项目文件夹作为其根文件夹启动程序:

Client
|
+-- bin (classes compiled by Eclipse)
|
+-- res (images)
|
+-- src (source code)

通过在javac *.java文件夹上运行src,您将在src文件夹中创建已编译类的副本。

在终端上,您需要返回客户端文件夹并使用java -classpath bin Frame

从那里启动您的程序