Comment puis-je ajouter un dossier de ressources pour mon projet Java dans Eclipse
Je veux avoir un endroit pour stocker mes fichiers d'image à utiliser dans mon projet Java (vraiment une classe simple qui vient de charger une image sur un panneau). J'ai cherché partout et impossible de trouver comment faire. Comment puis-je faire cela?
J'ai essayé d'ajouter un nouveau dossier pour le projet, l'ajout d'un nouveau dossier de classe pour le projet, et l'ajout d'un nouveau dossier source dans le projet. Peu importe ce que je fais, je reçois toujours un IOException
. Les dossiers toujours dire qu'ils sont sur le chemin de génération, donc je ne sais pas quoi faire.
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class PracticeFrame extends JFrame{
private static BufferedImage image;
Thread thread;
public PracticeFrame() {
super();
setPreferredSize(new Dimension(640,480));
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public static void main (String[] args) {
PracticeFrame pframe = new PracticeFrame();
try {
image = ImageIO.read(new File("/islands.png"));
} catch (IOException e) {
e.printStackTrace();
}
JPanel panel = new JPanel() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(image,0,0,null);
}
};
panel.setBackground(Color.BLUE);
panel.repaint();
pframe.add(panel);
}
}
EDIT: quelque Chose qui a fonctionné pour moi, et je n'ai aucune idée pourquoi, a ajouté le main/res/
dossier comme un dossier de la classe et puis les enlever. J'ai couru tout le /main/res/
faisait partie de la construction du chemin comme un dossier de classe et il ne fonctionne toujours pas. Quand je l'ai ajouté, j'ai un popup qui me dit quelque chose au sujet des exclus des filtres. Mais quand j'ai enlevé le dossier des bibliothèques dans le build path, et changé mon fichier chemin d'accès:
image = ImageIO.read(new File("src/main/res/islands.png"));
J'ai au moins arrêté l'obtention de la IOException
levée. Je ne dois pas être l'ajout de l'image dans le panneau correctement, parce qu'il ne l'est pas, mais au moins il a trouvé le fichier (je pense).
- Montrer le code qui génère l'exception. Vous avez probablement spécifier le chemin d'accès incorrect.
- c'est le code que j'ai utilisé pour chaque moyen d'ajouter le dossier res
- Merci de poster votre structure de répertoire du projet et laissez-nous savoir votre destination pour
.class
fichiers. - J'ai tout configuré comme ceci maintenant: espace de travail/JFramePractice/src/main/res/îles.png mon .les fichiers de classe sont ici: espace de travail/JFramePractice/bin/*.classe
Vous devez vous connecter pour publier un commentaire.
Quand au "Ajouter un dossier de ressources",
Build Path -> Configure Build Path -> Source (Onglet) -> Ajouter un Dossier -> Créer un nouveau Dossier
ajouter "my-resource.txt" les fichiers dans le nouveau dossier.
Puis dans votre code:
Pour répondre à votre question affiché dans le titre de ce sujet...
Étape 1--> Clic Droit sur le Projet Java, Sélectionnez l'option "Propriétés"
Étape 2--> Sélectionnez "Java Build Path" dans le menu de gauche, assurez-vous que vous êtes sur l'onglet "Source", cliquez sur "Ajouter un Dossier"
Étape 3--> Cliquez sur l'option "Créer un Nouveau Dossier..." disponible au bas de la fenêtre
Étape 4--> Entrez le nom du nouveau dossier comme "ressources" puis cliquez sur "Terminer"
Étape 5--> Maintenant, vous serez en mesure de voir le dossier nouvellement créé "ressources" en vertu de votre projet java, Cliquez sur "Ok", Cliquez de nouveau sur "Ok"
Étape finale --> Maintenant, vous devriez être en mesure de voir le nouveau dossier "ressources" en vertu de votre projet java
Après l'ajout d'un dossier de ressources essayez ceci :
Essayez De Donner le chemin d'accès Complet pour la lecture de l'image.
Exemple
image = ImageIO.read(new File("D:/work1/Jan14Stackoverflow/src/Strawberry.jpg"));
votre code n'est pas de produire une exception après avoir donné le chemin d'accès complet.
Si vous voulez lire un fichier d'image dans le code java.
Reportez-vous à la suite de http://docs.oracle.com/javase/tutorial/2d/images/examples/LoadImageApp.java
Si l'objet de votre classe est créée à la fin de votre code fonctionne très bien pour moi et affiche l'image