IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

jar exportable avec une image


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 10
    Points : 10
    Points
    10
    Par défaut jar exportable avec une image
    Bonjour,

    Lors de la programmation d'une application java, je fais intervenir deux images en guise de fond de JFrame.

    Pour cela j'ai une classe qui me construit un JPanel en chargeant une image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    public class JPanelImage extends JComponent
    {
    	public int mode;
    	public TexturePaint texture; 
    	public BufferedImage bufferedImage; 
     
    	public static final int CENTRE = 0;
    	public static final int TEXTURE = 1;
     
    	public JPanelImage( String fileName, int mode)
    	{	this.mode = mode;
    		this.bufferedImage = this.toBufferedImage(Toolkit.getDefaultToolkit().getImage(fileName));
    		this.texture = new TexturePaint(bufferedImage,new Rectangle(0, 0, bufferedImage.getWidth(), bufferedImage.getHeight()));
     
     
    	} 
     
    	public void paintComponent(Graphics g)
    	{	switch( mode )
    		{	case TEXTURE :
    				Graphics2D g2d = (Graphics2D)g; 
    				g2d.setPaint(texture);
    				g2d.fillRect(0, 0, getWidth(), getHeight() );
    				break;
    			case CENTRE :
    				g.setColor(this.getBackground());
    				g.fillRect(0,0,getWidth(), getHeight() );
    				g.drawImage(bufferedImage,(getWidth()-bufferedImage.getWidth())/2,(getHeight()-bufferedImage.getHeight())/2,null);
    				break;
    			default :
    				super.paintComponents(g);
    		}
    	}
     
     
    	public BufferedImage toBufferedImage(Image image)
    	{	image = new ImageIcon(image).getImage(); 
     
    		BufferedImage bufferedImage = new BufferedImage( image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB); 
    		Graphics g = bufferedImage.createGraphics(); 
     
    		g.setColor(Color.white); 
    		g.fillRect(0, 0, image.getWidth(null), 
    		image.getHeight(null)); 
    		g.drawImage(image, 0, 0, null); 
    		g.dispose(); 
    		return bufferedImage; 
    	}
    Cela marche très bien et il ne me reste plus qu'à faire ensuite dans mon package vue dans une classe qui extends JFrame:

    (dans le constructeur)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setContentPane(new JPanelImage(String filename, 0))
    sauf que, au début pleine d'innocence et de naïveté j'ai repoussé le problème sous-jacent d'exporter mon jar.

    Donc à ce jour mon filename est un chemin de dossier de MON ordinateur....

    Pleine de bonne volonté j'ai tenté une alternative concluante jusqu'à maintenant créer un package image et faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setContentPane(new JPanelImage("image/nom_image.jpg", 0))
    mais toujours rien et en plus java m'engueule:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Exception in thread "main" java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0
    	at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1016)
    	at java.awt.image.BufferedImage.<init>(BufferedImage.java:329)
    Un aide serait la bienvenue

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    Perso, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setContentPane(new JPanelImage("./image/nom_image.jpg", 0))
    quand le dossier est au même niveau que le jar exécutable.

    Cdt,
    Dmf

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    J'ai créer mon .jar et j'ai copier mon dossier image dans dist (où ce situe le jar donc) mais cela ne marche pas, je dois louper quelque chose à un moment.

    pour créer mon . jar je fais:

    dans properties : dans packaging :

    dans exclude From JAR file je ne laisse que **/*.form
    puis je build
    je run
    et tada mon . jar est là dans un nouveau dossier dist,

    est-ce qu'il pourrait y avoir quelque chose qui cloche là?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    ton fichier executable "fichier.jar" doit se trouver dans le dossier "dist"

    tu créer un dossier sur ton bureau -> tu met le dossier "lib" dedans -> tu met ton fichier "fichier.jar" dedans -> tu met ton dossier "image" dedans -> tu met ton fichier "mon_image.jpg" dans ton dossier "image"
    tu lances ton fichier.jar et cela doit fonctionner.

    Dmf

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    Tu as mis le post en "résolu", c'était ça ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec une image dans un jar
    Par tirisus dans le forum JWS
    Réponses: 0
    Dernier message: 16/10/2009, 14h26
  2. Réponses: 6
    Dernier message: 03/04/2007, 20h40
  3. problème pour faire un insert avec une image
    Par vbcasimir dans le forum Modules
    Réponses: 3
    Dernier message: 02/11/2005, 09h21
  4. [javascript] Scroll avec une image
    Par Salih-du-91 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/10/2005, 07h46
  5. Centrage de texte avec une image en arriere plan
    Par MasterOfChakhaL dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 26/08/2005, 18h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo