Can';t从Java项目访问终端中的.png文件

Can';t从Java项目访问终端中的.png文件,java,eclipse,applet,terminal,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 Di

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

我可以在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中访问文件的方式,它在终端中似乎不起作用:

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)));
    }

for(int i=0;i问题似乎在于,在终端上,程序正在从
客户机/src文件夹运行,因此它试图在
客户机/src/res
上查找不存在的图像

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

Client
|
+-- bin (classes compiled by Eclipse)
|
+-- res (images)
|
+-- src (source code)
通过在
src
文件夹上运行
javac*.java
,您正在
src
文件夹上创建编译类的副本


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

从那里启动您的程序,您使用哪个命令运行您的程序?您要启动它的目录/文件夹?我使用的命令是“javac*.java”,然后是“java Frame”我的文件在一个名为Client的文件夹中,在Client内的一个名为“src”的文件夹中,所以它在目录“Client\src”中。对不起,我的意思是.png文件在一个名为“Client\res”的文件夹中。Frame.java文件在“Client\src”中这和什么有关系?谢谢!它成功了!非常感谢。现在我是否可以创建一个驱动程序类来为我编写代码?我只想能够转到客户机文件夹并键入“java驱动程序”要做到这一点,您需要创建一个启动程序脚本,以便从命令行运行您的程序,请参阅以下链接:是否有一种方法可以让我在文件中移动,以便只使用“java框架”你必须把编译好的类复制到客户端文件夹中,这样当前的文件夹就包含了Frame.class文件和res文件夹(已经在正确的位置上了)。真是太棒了!非常感谢你。我不知道为什么这么长时间以来我都很困惑。再次感谢你!