begin process at 2010 02 09 21:35:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Multimédia

 > 

Java2D

 > 

Creer un jPanel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Creer un jPanel

jeudi 10 avril 2008 à 11:32:30 | Creer un jPanel

Steph115

Membre Club

Bonjour,

J'utilise ce code ci dessous pour insérer un jpanel qui a une image de fond dans un jpanel existant.
Le jpanel ne s'affiche pas dans l'application, et j'ai mis un sysout dans la redefinission du paintComponent de la classe JImagePanel et il ne s'affiche jamais.
N'y aurait il pas un problème avec les layout ?
Ne faut il pas spécifier des layout dans le nouveau jPanel qu'il créer ?
Je vous joint ci dessous le descriptif des layout de mon panel existant.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        String chemin = "/ressources/img/pingouins.jpg";
        URL url = this.getClass().getResource(chemin);
        System.out.println(url.toString());
        jLabel1.setText(url.toString());
       
        // On met l'image sur le jLabel
        jLabel2.setIcon(new javax.swing.ImageIcon(url));
       
        /** Accès au toolkit : */
        java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
        /** lecture de l'image : */
        Image image = toolkit.getImage(url);
       
        //BufferedImage image = ImageIO.read( /* File, URL ou InputStream */ );
        JImagePanel jp = new JImagePanel(image, 10, 0, true, true);
       
        jPanel1.add(jp);
        jPanel1.updateUI();
    }

Et voici le code du layout

private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        jLabel2 = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Loader Image");

        jLabel1.setText("jLabel1");

        jButton1.setText("Cliquez Ici");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jLabel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Label"));

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Panel"));

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 144, Short.MAX_VALUE)
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 135, Short.MAX_VALUE)
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 163, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addComponent(jButton1)
                    .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 333, Short.MAX_VALUE))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addGap(18, 18, 18)
                .addComponent(jButton1)
                .addGap(41, 41, 41)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 165, Short.MAX_VALUE))
                .addContainerGap())
        );

        pack();
    }


Ci quelqu'un a une idée qu'il n'hésite surtout pas car la je ne sais vraiment plus quoi faire.

La classe JImagePanel est visible sur ce site la : http://www.javafr.com/codes/JIMAGEPANEL-PANEL-AFFICHANT-IMAGES-REDIMENSIONNEES-AVEC-MEME-ASPECT_42125.aspx


Merci. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.

jeudi 10 avril 2008 à 15:38:38 | Re : Creer un jPanel

Steph115

Membre Club
Entre temps j'ai trouvé la solution il fallait définir une taille sur le jPanel voici le code final :

// Panel avec Image
JImagePanel jp = new JImagePanel(image, 10, 0, true, true);
jp.setSize(300, 300);
jp.setLocation(100, 100);
jPanel1.add(jp);

Merci. ++ Nexus

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.


Cette discussion est classée dans : image, javax, swing, layout, grouplayout


Répondre à ce message

Sujets en rapport avec ce message

Un ptit conseil/aide serait le bienvenue (Java graphique) [ par Al3x38 ] Bonjour tout le monde ;)Voila, dans le cadre d'un projet d'informatique, je dois réaliser un petit programme en java avec une interface agéable ! Alor camera [ par mimi1255 ] j'ai fait ceci, je n'ai pas d'erreur mais ma caméra ne s'affiche pas, pouvez-vous m'aider? 1er fichier: AxisCamera<pre class="alt2" dir="ltr" style="b Lien entre deux classe [ par Bouboukick ] Bonjour, je suis occupé de faire un programme sous NetBeans et j'ai 2 fichier l'un pour mon interface graphique l'autre pour me connecter à mon port c probleme Jframe [ par eyango ] bonjour a  toute la communauteje debute en java et je souhaitesavoir comment on ajoute des composants(jbouton,jtextfield) a une jframe voici mon code ComboBox dynamique en java à partir d'une table access [ par babillonnik ] Bonjours; j'ai fas comme tu m'a dit Dark et j'ai travaillé sur un programme mais il ne veux pas fonctionner, le comboBoc (Emplacement) n'affiche rien Panel invisible / ImageJ [ par papidaho ] Bonjour,J'ai créé un Panel via NetBeans. Je l'ai inséré dans mon code que j'utilise comme PlugIn dans le logiciel ImageJ (free traitement d'images). J COMMUNICATION APPLET SERVLET avec dopsot( ) [ par Java2386 ] bonjour je vien de realisé une communication entre une servlet et une applet (JAPPLET with swing). j'ai fait (en principe ) les etapes necessaire, connexion à la base de donnée [ par diwa ] bonjour tous le monde ,j'ai ce programme qui permet d'etablir une connexion à la base de donnée excel,mais j'ai un problem ,il affiche les erreurs sui class GroupLayout [ par bayan ] bonjour tous le monde ,j'ai un programme en java ,lors de la compilation il m'affiche:D:\NetBeans_projects\excelpj\src\pfe\testing.java:74: cannot res interface [ par gigi00 ] bonjour tout le monde j'ai besoin de votre aide j'ai  un projet de gestion de caisse a realise avec netbeans  , et je trouve un probleme au niveau la


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales