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

 Java Discussion :

Débutant - Netbeans6.7 - Icône de form


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Par défaut Débutant - Netbeans6.7 - Icône de form
    Bonjour tout le monde.
    Me voila en train de basculer vers le java et j'aimerais avoir un coup de patte sur un point précis.
    A force de tutoriel, de gratter, j'ai réussi à changer le nom de la form que j'ai dessiné depuis le code. Cependant, j'aimerais changer la petite icône en haut et à gauche, juste avant le nom. J'ai essayer plusieurs méthode mais à priori ça ne s'exécute pas.
    Voila ce que j'ai fait comme code, pardonnez-moi si c'est loin d'être parfait. Débutant oblige.
    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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
    /*
     * Form1.java
     *
     * Created on 4 juil. 2009, 20:33:20
     */
    package testapi2;
     
    import java.awt.Image;
     
    /**
     *
     * @author Alexandre
     */
    public class Form1 extends javax.swing.JFrame {
     
     
        /** Creates new form Form1 */
        public Form1() {
            initComponents();
        }
     
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
     
            jSeparator1 = new javax.swing.JSeparator();
            jMenuBar1 = new javax.swing.JMenuBar();
            jMenu1 = new javax.swing.JMenu();
            jMenuItem1 = new javax.swing.JMenuItem();
            jSeparator2 = new javax.swing.JSeparator();
            jMenuItem2 = new javax.swing.JMenuItem();
            jMenu2 = new javax.swing.JMenu();
     
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
            setForeground(java.awt.Color.white);
            addWindowListener(new java.awt.event.WindowAdapter() {
                public void windowActivated(java.awt.event.WindowEvent evt) {
                    formWindowActivated(evt);
                }
            });
     
            jMenu1.setText("Fichier");
     
            jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
            jMenuItem1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/testapi2/Ressources/Icônes 16x16/Fichier.png"))); // NOI18N
            jMenuItem1.setText("Ouvrir");
            jMenu1.add(jMenuItem1);
            jMenu1.add(jSeparator2);
     
            jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Q, java.awt.event.InputEvent.CTRL_MASK));
            jMenuItem2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/testapi2/Ressources/Icônes 16x16/Non.png"))); // NOI18N
            jMenuItem2.setText("Quitter");
            jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jMenuItem2ActionPerformed(evt);
                }
            });
            jMenu1.add(jMenuItem2);
     
            jMenuBar1.add(jMenu1);
     
            jMenu2.setText("Edit");
            jMenu2.setEnabled(false);
            jMenuBar1.add(jMenu2);
     
            setJMenuBar(jMenuBar1);
     
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jSeparator1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 281, Short.MAX_VALUE)
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(198, Short.MAX_VALUE)
                    .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
            );
     
            pack();
        }// </editor-fold>                        
     
        //Si on appuie sur le bouton fermer dans le menu
        private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {                                           
            // Ferme l'application
            this.dispose();
        }                                          
     
        //A l'ouverture de la boite de dialogue
        private void formWindowActivated(java.awt.event.WindowEvent evt) {                                     
            // On change le texte
            this.setTitle("Test par Microbulle");
            this.setIconImage(null); // <- C'est ici que je cherche à récupérer l'image de mon icône et qui à pour chemin : /testapi2/Ressources/Icônes 16x16/épée.png
        }                                    
     
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new Form1().setVisible(true);
                }
            });
        }
     
        // Variables declaration - do not modify                     
        private javax.swing.JMenu jMenu1;
        private javax.swing.JMenu jMenu2;
        private javax.swing.JMenuBar jMenuBar1;
        private javax.swing.JMenuItem jMenuItem1;
        private javax.swing.JMenuItem jMenuItem2;
        private javax.swing.JSeparator jSeparator1;
        private javax.swing.JSeparator jSeparator2;
        // End of variables declaration                   
     
     
    }
    Comment est-il possible de changer cela ?
    Merci beaucoup pour votre aide.
    Cordialement.

  2. #2
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Il est preferable d'eviter d'avoir des chemin avec des espaces et des caracteres accentués.
    Peux tu nous preciser si le fichier image se trouve dans un jar ou dans un dossier à part?
    Si c'est contenu dans un jar :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    String chemin="testapi2/Ressources/Icônes 16x16/épée.png";
     
    Image image=java.awt.Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource(chemin));
    this.setIconImage(image);

  3. #3
    Membre éclairé Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Par défaut
    Le fichier se trouve dans un répertoire situer dans les ressources.
    Quand au sans accents, je modifie cela dessuite.

  4. #4
    Membre éclairé Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Par défaut
    Alors j'ai fait le code indiqué ci dessus, ça compile mais avec des erreurs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        //A l'ouverture de la boite de dialogue
        private void formWindowActivated(java.awt.event.WindowEvent evt) {                                     
            this.setTitle("Test PAI par Microbulle");   // On change le texte de la fenêtre
            jLabel1.setForeground(Color.blue);          // On applique une couleur au jLabel1 au travers de l'option setForegrond
            jLabel1.setText("Application démarré");     // On charge la nouvelle information dans  le jLabel du bas de l'application
     
            String icon_form = "/testapi2/Ressources/Icones_16x16/Epee.png";
            Image icon_appi = java.awt.Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource(icon_form));
            this.setIconImage(icon_appi);
     
     
        }
    Et voila les messages qui s'affiche dans la fenêtre Output:
    run:
    Uncaught error fetching image:
    java.lang.NullPointerException
    at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:99)
    at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:113)
    at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:240)
    at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
    at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)
    BUILD STOPPED (total time: 16 seconds)
    A priorie, l'image n'est pas prise, ou supporté
    Elle est pourtant bien au bon endroit.
    Auriez-vous une rectification à apporté à mon code, ou une explication à cette erreur ?
    Cordialement

  5. #5
    Membre éclairé Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Par défaut
    J'ai essayer avec ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        private void formWindowActivated(java.awt.event.WindowEvent evt) {                                     
            this.setTitle("Test API par Microbulle");   // On change le texte de la fenêtre
            jLabel1.setForeground(Color.blue);          // On applique une couleur au jLabel1 au travers de l'option setForegrond
            jLabel1.setText("Application démarré");     // On charge la nouvelle information dans  le jLabel du bas de l'application
     
            String chemin = "testapi2/Ressources/Icones_16x16/Epee.jpg";
            image = java.awt.Toolkit.getDefaultToolkit().getImage(getClass().getResource(chemin));
            this.setIconImage(image);
        }
    Sans succès.

  6. #6
    Membre éclairé Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Par défaut
    En fait, j'ai réussi à compiler avec l'ajout du mot clé Image sur la seconde ligne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String chemin = "testapi2/Ressources/Icones_16x16/Epee.jpg";
            Image image = java.awt.Toolkit.getDefaultToolkit().getImage(getClass().getResource(chemin));
            this.setIconImage(image);
    Toutefois il subsiste un résultat non souhaiter. La form semble bloqué, figé et pendant le run j'ai vue apparaitre ceci:
    run:
    Uncaught error fetching image:
    java.lang.NullPointerException
    at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:99)
    at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:113)
    at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:240)
    at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
    at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)
    BUILD STOPPED (total time: 16 seconds)
    On avance mais je ne comprend pas pourquoi ces erreurs n'ayant pas de points rouge. Un problème pour accéder aux images ou simplement le chemin qui une fois en run n'est plus trouvé ?
    Cordialement

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

Discussions similaires

  1. [Débutant] Comment créer des sous Form ?
    Par Hokage dans le forum Débuter
    Réponses: 2
    Dernier message: 27/09/2007, 10h55
  2. [CR9-Débutant] Création et mise en forme
    Par jbrasselet dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 03/08/2007, 09h19
  3. [débutant] Select et Logic Iterate (Form)
    Par maxattack dans le forum Struts 1
    Réponses: 5
    Dernier message: 29/05/2007, 14h29
  4. [Débutant] Modifier l'icône de l'application
    Par Print' dans le forum Delphi
    Réponses: 2
    Dernier message: 31/03/2007, 15h23
  5. [Débutant] Récupération valeurs d'un form
    Par Jibees dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/03/2006, 09h32

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