package mainClasses;
/*
* Frame Info and all that ****,
* mainFrame is the actual frame itself
* it will refer to MainC.java a lot Main class = Main Class
*/
import java.awt.FlowLayout;
import java.awt.Graphics;
import JavaGame.src.resources.*; //Problem Code
import javax.swing.JButton;
import javax.swing.JFrame;
public class mainFrame extends JFrame {
private static final long serialVersionUID = 1L;
public mainFrame() {
JButton playButton = new JButton();
JButton infoButton = new JButton();
JButton exitButton = new JButton();
int x = 300, y = 300;
setSize(x, y);
setVisible(true);
setLayout(new FlowLayout());
setTitle("Kingdom Raider");
setDefaultCloseOperation(EXIT_ON_CLOSE);
/*Buttons and Properties*/
playButton.setBounds(x, y, 200, 100);
playButton.setText("Play!");
add(playButton);
infoButton.setBounds(x, y, 200, 100);
infoButton.setText("Information");
add(infoButton);
exitButton.setBounds(x, y, 200, 100);
exitButton.setText("Exit");
add(exitButton);
/* Add image here */
}
public void Painting (Graphics g) {
//Me.
}
}
我正在创建一个游戏而且我遇到了导入问题。 如您所见,我想导入JavaGame.src.resources,因为我正在尝试导入img。 这是我的目录的立场:
我现在不需要知道resourcesmanager.java上的代码。 所以基本上,这个类在包mainClasses中,但我想访问资源包。是什么给了什么?
答案 0 :(得分:5)
您的包裹名称为resources
,请写下:
import resources.*; // No-Problem Code
目录结构的其余部分特定于Eclipse,与Java类路径没有任何关系
答案 1 :(得分:1)
您的源文件夹是src
,因此这是您的类层次结构的根。你应该做
import resources.*
但是,使用*
是不好的形式,您应该尝试仅导入此特定类中所需的类,例如您已使用javax.swing.JButton
。所以:
import resources.ResourceManager;
答案 2 :(得分:1)
资源不像包一样导入。看看这里:http://docs.oracle.com/javase/1.5.0/docs/guide/lang/resources.html。
具体来说,这是一个如何从资源加载图像的示例:http://docs.oracle.com/javase/tutorial/uiswing/components/icon.html#getresource。
答案 3 :(得分:1)
如果您复制并粘贴某些内容,Eclipse会自动为您导入内容 - 也许您可以编写一个使用JavaGame.src.resources中的内容的短片段,然后复制粘贴,即Eclipse将执行其余操作。
答案 4 :(得分:0)
我认为这可能是Eclipse配置的问题。有时Eclipse会将项目中的源文件夹视为包的一部分。只需从Eclipse工作区中删除项目而不将其从文件系统中删除并再次导入。
这应该有所帮助。
从eclipse中删除项目而不将其从文件系统中删除:
将现有项目导入eclipse:
http://agile.csc.ncsu.edu/SEMaterials/tutorials/import_export/
答案 5 :(得分:0)
您要做的是访问存储在资源文件夹中的文件。为此,您不必按照您的尝试导入文件夹。相反,做托尼小马建议和使用
getResource("FileName.ext")
例如,要将文件转换为图标,您必须使用资源路径:
java.net.URL path = this.getClass().getResource("FileName.jpg");
ImageIcon icon = new ImageIcon(path);
我还应该指出,如果您使用NetBeans,则需要将资源文件夹添加为源文件夹;否则项目不会编译你想要的结果,导致.jar文件无法访问资源文件。 Eclipse可能类似。要将文件夹添加为源: