5
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.
}
   }

ゲームを作成していますが、インポートに問題があります。ご覧のとおり、img をインポートしようとしているので、JavaGame.src.resources をインポートしたいと考えています。私のディレクトリの状態は次のとおりです。

ここに画像の説明を入力

現時点では、resourcesmanager.java のコードが空白であることを知る必要はありません。基本的に、このクラスは mainClasses パッケージに入っていますが、リソース パッケージにアクセスしたいのです。何を与える?

4

6 に答える 6

5

パッケージ名はresources、なので、次のように記述します。

import resources.*; // No-Problem Code

ディレクトリ構造の残りの部分はEclipseに固有であり、Javaクラスパスとは何の関係もありません。

于 2012-04-23T15:15:51.013 に答える
1

ソースフォルダはですsrc。これがクラス階層のルートです。やったほうがいい

import resources.*

ただし、使用は不適切な形式であるため、たとえば*で行ったように、この特定のクラスで必要なクラスのみをインポートしてみてください。javax.swing.JButtonそれで:

import resources.ResourceManager;
于 2012-04-23T15:16:08.987 に答える
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

于 2012-04-23T15:18:19.140 に答える
1

何かをコピーして貼り付けると、Eclipse が自動的にインポートします。JavaGame.src.resources で何かを使用する短いクリップを作成し、それをコピーして貼り付けると、残りは Eclipse が行います。

于 2012-04-23T15:18:44.100 に答える
0

これは、Eclipse の構成に問題がある可能性があると思います。Eclipse は、プロジェクト内のソース フォルダーをパッケージの一部と見なす場合があります。ファイル システムからプロジェクトを削除せずに、Eclipse ワークスペースからプロジェクトを削除し、再度インポートします。

それは役立つはずです。

ファイル システムからプロジェクトを削除せずに、Eclipse からプロジェクトを削除する:

http://help.eclipse.org/helios/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Ftasks%2Ftasks-42b.htm

既存のプロジェクトを Eclipse にインポートする:

http://agile.csc.ncsu.edu/SEMaterials/tutorials/import_export/

于 2012-04-23T16:38:56.650 に答える
0

やりたいことは、リソース フォルダーに保存されているファイルにアクセスすることです。これを行うには、試みたようにフォルダーをインポートしません。代わりに、トニー・ザ・ポニーのアドバイスに従って使用してください

getResource("FileName.ext")

例として、ファイルをアイコンに変換するには、リソース パスを使用する必要があります。

java.net.URL path = this.getClass().getResource("FileName.jpg");
ImageIcon icon = new ImageIcon(path);

また、NetBeans を使用している場合は、リソース フォルダーをソース フォルダーとして追加する必要があることも指摘しておく必要があります。そうしないと、プロジェクトは意図したとおりにコンパイルされず、リソース ファイルにアクセスできない .jar ファイルが生成されます。Eclipseも同様かもしれません。フォルダをソースとして追加するには:

  1. プロジェクトを右クリック
  2. プロパティを選択
  3. カテゴリペインで「ソース」をクリックします
  4. 「フォルダの追加」をクリックし、作成したリソースフォルダを選択
于 2016-01-10T22:44:36.667 に答える