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

Agents de placement/Fenêtres Java Discussion :

Affichage texte et image sur une JFrame


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 7
    Points
    7
    Par défaut Affichage texte et image sur une JFrame
    Bonjour,

    je souhaite afficher une fenêtre avec une image de fond et un texte, le problème c'est que j'ai soit le texte soit l'image mais pas les deux en même temps.

    Par ailleurs, je voudrais aussi savoir comment formater un texte, je voudrais avec plusieurs paragraphes mais mon texte s'affiche sur une seul ligne

    Class FenetreText1 :
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
    @SuppressWarnings("serial")
    public class FenetreText1 extends javax.swing.JFrame implements ActionListener {
     
    	public JButton jButtonRetour1;
     
    	public FenetreText1() {
    	  initComponents();
    	}
     
        public void initComponents() {
     
        	jButtonRetour1 = new javax.swing.JButton();
     
            setTitle("DVD 3A");
            setPreferredSize(new java.awt.Dimension(1005, 650));
            setResizable(false);
            setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            setVisible(true);
            setAlwaysOnTop(true);
            setContentPane(new ImageFond1());
            setContentPane(buildContentPane());
     
            jButtonRetour1.setText("Retour");
            jButtonRetour1.setForeground(new java.awt.Color(255, 0, 0));
            jButtonRetour1.setPreferredSize(new java.awt.Dimension(80, 20));
            jButtonRetour1.addActionListener((ActionListener) this);
     
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(613, Short.MAX_VALUE)
                    .addComponent(jButtonRetour1, javax.swing.GroupLayout.PREFERRED_SIZE, 245, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap())
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(373, Short.MAX_VALUE)
                    .addComponent(jButtonRetour1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap())
            );	pack();
        }
     
    	private JPanel buildContentPane(){
    		JPanel panel = new JPanel();
    		panel.setLayout(new FlowLayout());
     
    		JLabel label = new JLabel("3A+ regroupe un ensemble de services informatiques à domicile, qu'il s'agisse de dépannage, d'assistance ou encore de formation." +
    				"" +
    				"Quelques exemple d'intervention 3A+ courantes :" +
    				"-Dépannage informatique" +
    				"Intallation Internet" +
    				"Récupération de données" +
    				"Formation informatique" +
    				"Sauvegarde de données" +
    				"Assistance informatique aux personnes en difficultés" +
    				"Et bien d'autres..." +
    				"" +
    				"Les interventions sur la régions Ouest, sont sur rendez-vous, et la plupart du temps dans les 48 heures." +
    				"De plus, vous pouvez déduire de vos impots sur le revenue, la moitier du coup de l'intervention grâce à une attestation fiscale qui vous sera délivrée suite à l'intervention." +
    				"" +
    				"Pour prendre rendez-vous ou pour plus d'information, le téléphone : 0262 911 944" +
    				"" +
    				"3A+ et l'informatique reste un plaisir.");
     
    		panel.add(label);
     
    		return panel;
    	}
     
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		Object source = e.getSource();
     
    		if(source == jButtonRetour1){
    			this.setVisible(false);
    		      this.dispose();
    		}	
    	}
    }
    Class ImageFond1 :
    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
    import java.awt.Graphics;
    import java.awt.Image;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    import javax.swing.JPanel;
     
    @SuppressWarnings("serial")
    public class ImageFond1 extends JPanel {
     
            public void paintComponent(Graphics g){
            	super.paintComponents(g);
                    try {
                            Image img = ImageIO.read(new File("C:/Users/Thomas/Desktop/DVD 3A INFORMATIQUE/logo 3a'.jpg"));
                            g.drawImage(img, 0, 0, this);
                    } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                    }
     
            } 
    }
    Merci pour votre aide !
    Yabléo.

  2. #2
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    setContentPane(new ImageFond1());
    setContentPane(buildContentPane());
    il faut que ton image soit paintComponent sur le panel retourner par buildContentPane() ou que tu utilises le panel que tu as créé pour mettre ton texte, actuellement tu dis que ta fenêtre aura le panel avec l'image en fond dans un premier temps puis le panel avec le texte dans un second temps.

    donc retire le premier setContent puis dans ta fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ImageFond1 panel = new ImageFond1();
    JLabel label = new JLabel("coucou");
    panel.add(label);
    Tu devrais avoir le texte sur le panel.

    Ensuite pour le formatage de ton texte, il existe peut être une fonction pour le formatage, pour ma part j'utilise le "\n" pour le saut de ligne et le \t pour la tabulation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "\t coucou \n je suis";
    tu auras une tabulation coucou puis un saut de ligne et je suis
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Salut, merci pour ta réponse.

    Alors, ça marche presque parfaitement, le texte et l'image sont bien afficher en même temps, j'ai juste un problème au niveau de l'affichage du texte.

    Une partie de celui ci est cacher, une petite image sera plus parlante :
    [IMG] Uploaded with ImageShack.us[/IMG]

    Le code modifier :

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
    @SuppressWarnings("serial")
    public class FenetreText1 extends javax.swing.JFrame implements ActionListener {
     
    	public JButton jButtonRetour1;
     
    	public FenetreText1() {
    	  initComponents();
    	}
     
        public void initComponents() {
     
        	jButtonRetour1 = new javax.swing.JButton();
     
            setTitle("DVD 3A");
            setPreferredSize(new java.awt.Dimension(1005, 650));
            setResizable(false);
            setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            setVisible(true);
            setAlwaysOnTop(true);
            setContentPane(buildContentPane());
     
            jButtonRetour1.setText("Retour");
            jButtonRetour1.setForeground(new java.awt.Color(255, 0, 0));
            jButtonRetour1.setPreferredSize(new java.awt.Dimension(80, 20));
            jButtonRetour1.addActionListener((ActionListener) this);
     
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(613, Short.MAX_VALUE)
                    .addComponent(jButtonRetour1, javax.swing.GroupLayout.PREFERRED_SIZE, 245, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap())
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(373, Short.MAX_VALUE)
                    .addComponent(jButtonRetour1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap())
            );	pack();
        }
     
    	private JPanel buildContentPane(){
     
            ImageFond1 panel = new ImageFond1();
            JLabel label = new JLabel("Une partie de cette phrase est caché !!\n De même, les balises html ne marche pas pour formater le texte :(");
            panel.add(label);
    		return panel;
    	}
     
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		Object source = e.getSource();
     
    		if(source == jButtonRetour1){
    			this.setVisible(false);
    		      this.dispose();
    		}	
    	}
    }
    Une fois ce problème résolu, le programme sera presque terminé !

  4. #4
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Bonjour,

    Je pense fortement que ce problème est lié au GroupLayout que tu utilises sur ton panel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getContentPane().setLayout(layout);
    vu le texte même sur le setHorizontal, mais je n'utilise jamais ce layout donc je ne le maitrise pas trop :s.

    Vu que tu fais un pack() tu peux faire un setPreferredSize() sur le panel ImageFond1 avec la taille de la fenêtre pour tester.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    J'ai essayer comme ceci :
    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
    public class ImageFond1 extends JPanel {
     
            public void paintComponent(Graphics g){
            	super.paintComponents(g);
                    try {
                    	setPreferredSize(1005, 650);
                            Image img = ImageIO.read(new File("C:/Users/Thomas/Desktop/DVD 3A INFORMATIQUE/Logo 3A.jpg"));
                            g.drawImage(img, 0, 0, this);
                    } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                    }
            }
     
    		private void setPreferredSize(int i, int j) {
    			// TODO Auto-generated method stub
     
    		}
    }
    Je ne sais pas si je les bien placer vu qu'il me demande de créer un private voiid, mais en tout cas, rien ne change :/

    ps: c'est le Layout de matisse, je les utiliser pour gagner du temps sur le placement de mes boutons.

  6. #6
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Plutôt ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    private JPanel buildContentPane(){
     
    ImageFond1 panel = new ImageFond1();
    panel.setPreferredSize(1005, 650);
    JLabel label = new JLabel("Une partie de cette phrase est caché !!\n De même, les balises html ne marche pas pour formater le texte :(");
    panel.add(label);
    return panel;
    }
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Non, rien ne change, il me demande toujours de créer le private void sur ImageFond1 par contre, je sais pas si c'est normal.

    Je ne devrais pas écrire quelque chose dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void setPreferredSize(int i, int j) {
    			// TODO Auto-generated method stub
     
    		}
    ??

  8. #8
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    vu que ton imageFond1 extends JPanel il devrait connaitre la méthode sans avoir besoin de la redefinir, je vais étudier la chose à ma pause .

    Pour vérifier mon hypothèse retire le layout et regarde si le label se place bien dans la fenêtre.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Effectivement, lorsque je retire le layout ça marche, mais le bouton n'est plus la ou je le voulais :/

    Je vais essayer de jouer un peu aussi sur ce code en attendant t'as réponse, merci encore !!

    A dans pas longtemps j'espère !

  10. #10
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    le GroupLayout est un peu tordu je trouve. Si j'ai bien compris d'après ce site : http://docs.oracle.com/javase/tutori...out/group.html

    pour une espacement automatique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    layout.setAutoCreateGaps(true);
    layout.setAutoCreateContainerGaps(true);
    et il faut que tu ajoutes le label dans le groupLayout avec .addComponent(label)pas de base dans ton panel comme tu fais actuellement,dans la fonction, sa devrait réaligner ton texte. Il faudrait que je test sur mon ecplise à la maison donc si tu as le courage d'attendre à moins que quelqu'un passe et connaisse mieux le layout .
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Salut,

    hmmm, ça commence à devenir du chinois pour moi la
    J'essaye de faire quelques manips, un coup de chance peut arriver on ne sais jamais ^^

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Je viens de régler mon problème de saut de ligne, le "\n" ne marche pas avec JLabel, j'ai donc utiliser <br> !

    Pour ce qui ai du problème de texte caché, j'ai essayer de mettre des espaces, mais le code html pour ne marche... comme par hasard... pas.

    Avec ta méthode, je n'y suis pas arriver, surement du a un mauvais positionnement du code... encore ^^

    A plus tard !

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Bon bon bon... j'ai trouver

    J'ai utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label.setBorder(BorderFactory.createEmptyBorder(100, 1030, 0, 0));
    pour positionner mon texte sur ma fenêtre, ça marche perfect !!

    Voila un screen :
    [IMG] Uploaded with ImageShack.us[/IMG]

    Merci pour ton aide XxArchangexX !

    J'aurais une dernière petite question, hors du sujet de départ,
    j'ai utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Image icone = Toolkit.getDefaultToolkit().getImage(Fenetre.class.getResource("C:/Users/Thomas/Desktop/DVD 3A INFORMATIQUE/autorun.ico"));
            setIconImage(icone);
    pour changer la tasse de thé en haut à gauche de la fenêtre mais j'ai plusieurs lignes à la *** et la fenêtre ne s'ouvre pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Uncaught error fetching image:
    java.lang.NullPointerException
    	at sun.awt.image.URLImageSource.getConnection(Unknown Source)
    	at sun.awt.image.URLImageSource.getDecoder(Unknown Source)
    	at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
    	at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
    	at sun.awt.image.ImageFetcher.run(Unknown Source)
    Voila ! merci encore une fois

  14. #14
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Bonjour,

    Tu as survécu, wp .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.NullPointerException
    sa sent l'objet non initialisé.

    dans le constructeur de ta fenêtre, FenetreText1 extends javax.swing.JFrame :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Toolkit test= Toolkit.getDefaultToolkit();
    Image iconFen = test.getImage("image.jpg");	
    this.setIconImage(iconFen );
    C'est cette ligne qui me pose problème, c'est quoi Fenetre?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fenetre.class.getResource
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Fenêtre, bah c'est le nom de ma class.

    Mais, je me demande maintenant, si ce n'est pas du au faite que mes images sont mal placer dans mon projet, je dois compresser se code pour pouvoir le graver sur un DVD, j'ai lu sur divers forum qu'il fallait exporter en .jar mais voila, ça me pose plus de problème que je ne l'aurais cru :
    [IMG] Uploaded with ImageShack.us[/IMG]


    J'ai donc mit mes images et mon dossier logiciels dans mon projet, et j'ai essayer, essayer sans succés , de mettre le lien grâce à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (getClass().getResource("/Logo 3A.jpg"))
    mais comme tu peux le voir sur le screnn, bas j'ai une erreur pour tous les liens que j'essaie d'entrer

  16. #16
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    J'ai trouvé ceci :

    http://manu.kegtux.org/Java/Tutoriels/IHM/Fenetre.html

    vers la moitié, tu peux rechercher la phrase "Quand utiliser une ressource ?"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    URL url = Fenêtre.class.getRessource("icone.gif");
    IconImage(kit.getImage(url));
    J'ai même apris une chose tu peux retirer les bordures de la JFrame ^^.

    C'est un .exe qu'il te faut? sur un DVD tu peux mettre les classes si c'est pour transporter ton code, le .jar c'est l'éxécutable de ton projet, mais les images, oui c'est toujours tordu, pour ma part je place les images ou les musiques à côté du .jar.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Super ça, bon je test tout ça, je mettrais les images/dossier à côté de mon jar, par contre, je mis prend comme ceci pour les liens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jfc.setCurrentDirectory(new File("/200 logiciels"));
    ??

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Toutes les réponses son dans ton lien, je n'est pas pris le temps de lire, comme d'hab désolé !

    Merci encore XxArchangexX, je passe le sujet en résolu, bonne continuation !

  19. #19
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Pas de soucis, bon courage à toi.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

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

Discussions similaires

  1. Affichage d'un JDialog sur une JFrame en plein ecran
    Par Hakumen dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 11/08/2011, 19h20
  2. Affichage d'une image de fond sur une JFrame
    Par nashpimp dans le forum Agents de placement/Fenêtres
    Réponses: 21
    Dernier message: 04/08/2008, 15h26
  3. Réponses: 6
    Dernier message: 15/11/2007, 12h31
  4. [débutant]Afficher une image sur une JFrame
    Par mavina dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 09/08/2006, 16h25
  5. [JFrame] affichage de component et d'image dans une JFrame
    Par Joeleclems dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 08/10/2004, 16h17

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