Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [debutant] image dans un jar [ Multimédia / Java2D ] (jeremeclip)

mardi 25 décembre 2007 à 12:53:53 | [debutant] image dans un jar

jeremeclip

bonjour voici mon probleme. Je viens de faire une petite application donc dans cette application je doit avoir une image de fond et par dessu j'ia des bouton tranparent donc tout marche quand je lance l'application avec eclipse mais dans que je le lance dans un jar executable impossible d'avoir l'image

voici le code de l'application
il ya peut etre une fautes ou je n'utilise peut etre pas bien une fonstion de java pour inserer une image

Code :
 
 
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
 
import javax.imageio.ImageIO;
import javax.print.DocFlavor.URL;
import javax.swing.*;
 
 
publicclass Menu {

//Déclaration des boutons et du Panel
JPanel Menu;
JPanel bouton;
JButton Connection;
JButton Enregistrer;
JButton Aide;
JButton Option;
JButton Quitter;
 
Menu()throws IOException {
 
Menu = new JPanel();

//Afecte un gestionnaire de présentation a ce panneau
BorderLayout disposition = new BorderLayout();
Menu.setLayout(disposition);

//Crée les bouton en utilisant le constructeur de la classe
//JButton qui prend en paramètre le libellé du bouton
Connection = new JButton("");
Enregistrer = new JButton("");
Aide = new JButton("");
Option = new JButton("");
Quitter = new JButton("");

JFrame frame = new JFrame("History And Futury");
frame.setContentPane(Menu);

//les different option de la frame
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
//rend la frame visible
frame.setVisible(true);
//affiche l'image
frame.add(new Zone());
//donne les mesure de la Frame
frame.setBounds(500,280,347,457);



Menu.setLayout(null);
//enregistrer mes bouton dans le panneau menu
Menu.add(Connection);
Menu.add(Enregistrer);
Menu.add(Aide);
Menu.add(Option);
Menu.add(Quitter);
//Positionne les bouton a l'endroit indiquer
Connection.setBounds(55, 123, 220, 30);
Enregistrer.setBounds(55, 180, 220, 30);
Aide.setBounds(55, 239, 220, 30);
Option.setBounds(55, 296, 220, 30);
Quitter.setBounds(55, 353, 220, 30);

//rend les boutons invisible a l'oeil mais reste actif
Connection.setContentAreaFilled(false);
Enregistrer.setContentAreaFilled(false);
Aide.setContentAreaFilled(false);
Option.setContentAreaFilled(false);
Quitter.setContentAreaFilled(false);

moteur_Menu moteurCalcul = new moteur_Menu(this);
Connection.addActionListener(moteurCalcul);

}

 
publicstaticvoid main(String[] args)throws IOException {
Menu me = new Menu();
}
 
}
 
class Zone extends JComponent{
private BufferedImage image;
public Zone()throws IOException {

image = ImageIO.read(new File("Menu.png"));
}
public Zone(BufferedImage image){
this.image = image;
}
protectedvoid paintComponent(Graphics surface){
surface.drawImage(image, 0, 0, 340, 425, null);
}

}
 

voila le code merci de m'aider car si j'arrive pas faire cette peitit appication je ne pourrias pas continuer le restede ce projet

mardi 25 décembre 2007 à 15:19:09 | Re : [debutant] image dans un jar

Ombitious_Developper

Salut:

Utilises la méthode getResourceAsStream() qui est méthode des deux classes Class ou ClassLoader.

mardi 25 décembre 2007 à 15:43:15 | Re : [debutant] image dans un jar

jeremeclip

et pour l'utiliser je doit la placer ou dans mon code et je dois supprimer ou quoi?

mardi 25 décembre 2007 à 16:58:52 | Re : [debutant] image dans un jar

Ombitious_Developper

Salut:

Il y a plusieurs façons pour exploiter la méthode getResourceAsStream(), vu que tu utilises des objets de la classe BufferedImage, tu peux procéder ainsi:

/**
 * Cette classe charge une image qui se situe relativement
 * à une classe donnée.
 */

public class JarImageLoader {
    public static BufferedImage getImage(Class cls, String filename) {
       try {
          return ImageIO.read(cls.getResourceAsStream(filename));
       }
       catch (Throwable e) {
          return null;
       }
    }
}


Supposons qu'auprès de la classe Toto il y a une image "image.png":

BufferedImage bi = JarImageLoader.getImage(Toto.class, "image.png");

mardi 25 décembre 2007 à 17:45:38 | Re : [debutant] image dans un jar

jeremeclip

si j'ai bien compris je met 

**
 * Cette classe charge une image qui se situe relativement
 * à une classe donnée.
 */

public class JarImageLoader {
    public static BufferedImage getImage(Class cls, String filename) {
       try {
          return ImageIO.read(cls.getResourceAsStream(filename));
       }
       catch (Throwable e) {
          return null;
       }
    }
}

dans une nouvelle page  dans eclipse

et ceci

BufferedImage bi = JarImageLoader.getImage(Toto.class, "image.png");

dans le code qui ets site plus haut

c'est sa ?


mardi 25 décembre 2007 à 19:34:00 | Re : [debutant] image dans un jar

Ombitious_Developper

Salut:

Notre professeur Mme Najjar disait toujours: "Il faut apprendre les bonnes manières".

Lorsqu'on developpe une application (Java ou autre) il faut bien diviser les différentes unités fonctionnelles de ton application en plusieurs packages.

Dans notre cas, il vaut mieux créer un package pour les classes utilitaire [Helper Classes] qui sont les classes à usage général et qui peuvent être utiliser dans les future projets, c'est dans ce package que tu peux mettre cette nouvelle classe [JarImageLoader].

Puis, chaque fois que tu aura besoin de cette classe tu fais l'appel de la méthode en question.

Bye.



Cette discussion est classé dans : menu, image, frame, import, jbutton


Répondre à ce message

Sujets en rapport avec ce message

Bouton créant un bouton [ par kanagan ] Bonjour, Voilà, j'ai un petit problème, je veux créer un bouton qui, lorsque l'on clique dessus, crée un autre bouton. Cependant je n'arrive pas à af construction fenetre [ par alonsyl ] bonjour,j'essais d'utiliser "visual class" d'eclipse afin de creer l'interface de ma 1ere application (vous trouverez le code genere automatiquement c Interface graphique comment faire pour afficher dans la frame quand on choisi un menu [ par miniil ] Bonjour,J'aimerais faire une interface graphique assez simple mais je n'y arrive quand même pas ;o)J'ai une frame avec un menu et j'aimerais qu'à chaq mettre une image dans le titre d'une frame [ par nou366 ] Bonjour, J'essaye de mettre une image ( icone) dans le titre de la frame, mais j'y arrive pas j'ai fait ca :  frame1.setTitle(monImage); ca marche pas Jbutton est image [ par Squaredge ] Bonjour!! J'essaie de réaliser une applet avec Jbutton ayant pour motif une image. J'utilise donc la méthode : private JButton motif = new JButton (n cadre d'une frame [ par yassinovetch ] salut svp je dois réaliser comme un sorte de msn,le premier probleme c'est queje dois faire caher le cadre du frame c'est à dire le menu et le cadre q cadre frame [ par yassinovetch ] salut svp je dois réaliser comme un sorte de msn,le premier probleme c'est queje dois faire caher le cadre du frame c'est à dire le menu et le cadre q menu [ par workflow ] bonjour tout le monde, SVP j'ai deux questions à vous poser : 1.est il possible de placer le "JMenuBar" sur un paneau contenant une image toute en gar Problème d'enregistrement d'image [ par thanatos67 ] Bonjour au lecteur. J'ai un petit soucis.Je suis en plein projet de BTS Info. je doit présenter une application qui capture une image d'une webcam et mon icone en haut à gauche ne s'affiche pas [ par developvbdebut ] Bonsoir tout le monde Je souhaiterais mettre une icone en haut à gauche de ma fénêtre. Voici mon code import java.awt.*;import java.awt.eve


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.