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 : JLabel position et chemin d'image [ Multimédia / Java2D ] (ABF)

vendredi 16 mai 2008 à 15:49:25 | JLabel position et chemin d'image

ABF

Bonjour,

j'ai un soucis de GridLayout.
j'essaie de faire une grille d'image avec des Jlabel cote à cote

QUESTION :
1° Le chargement de mes images est impec mais je n'arrive pas à les coller entre elles

2°De plus, je n'arrive pas à donner le chemin relatif (non dur) de mon image


MON CODE :

import javax.swing.*;
import java.awt.*;

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        
        JFrame myFrame = new JFrame();
        JPanel panel = new JPanel();
        GridLayout jours = new GridLayout(3, 2, 10, 50);
        panel.setLayout(jours);
        panel.applyComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT);
        
        for (int  i=1 ; i<7 ; i++)
        {
            ImageIcon image = new ImageIcon("C:\\Users\\Renfield\\Documents\\NetBeansProjects\\JavaApplication8\\src\\javaapplication8\\vide.jpg");
            JLabel lbl = new JLabel(image);
            lbl.setPreferredSize(new Dimension(30, 30));
            panel.add (lbl);
        }

        myFrame.setContentPane(panel);
        myFrame.setTitle("Viewer by Brice");
        myFrame.setBounds(0,0,300,300);
        myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        myFrame.setVisible(true);
    
    }

}



Merci de votre aide ++

vendredi 16 mai 2008 à 19:51:18 | Re : JLabel position et chemin d'image

Ombitious_Developper

Salut:

public class Grid extends JPanel {

    public static final int COUNT_X = 30;
   
    public static final int COUNT_Y = 15;

    public static final int WIDTH = 20;
   
    public static final int HEIGHT = 20;
   
    private JLabel[][] labels = new JLabel[COUNT_X][COUNT_Y];
   
    public Grid() {
        super(new GridLayout(COUNT_X, COUNT_Y, 1, 1));
    }
   
    public void createGrid() {
        for (int i = 0; i < COUNT_X; i++) {
            for (int j = 0; j < COUNT_Y; ++j) {
                labels[i][j] = new JLabel();
                labels[i][j].setPreferredSize(new Dimension(WIDTH, HEIGHT));
                labels[i][j].setBorder(new BevelBorder(BevelBorder.RAISED));
                add(labels[i][j]);
            }
        }
    }
}


Pour pouvoir utiliser les chemins relatifs: Une solution simpliste consiste à placer le répertoire contenant les ressources (images, ...) à la racine de ton projet


vendredi 16 mai 2008 à 20:57:15 | Re : JLabel position et chemin d'image

ABF

salut,

Merci
Ben j'ai mis un repertoire "img" à la racine et si je fait :

.\\img\\vide.jpg ca fonctionne  pas ^o)

vendredi 16 mai 2008 à 21:08:09 | Re : JLabel position et chemin d'image

ABF

Re,
et si maintenant je veux attribuer une autre image à disons : mon Jlabel(25) je fais comment ?

Je suis coincé là !!??

t'as une astuce ?
faut pas heriter de la Jframe ?
Je vois pas le code à mettre ! :(

vendredi 16 mai 2008 à 21:56:11 | Re : JLabel position et chemin d'image

Ombitious_Developper

Salut:

Il faut utiliser un chemin relatif par exemple "resources/background.png" tout court sans utiliser "." ou ".."

Pour attribuer une image à un JLabel donnée, connaissant ses coordonnées (i, j) il suffit de faire:

labels[i][j].setIcon(new ImageIcon("resources/picture.png"));

Il y a plusieurs façons pour exploiter la classe Grid: Voici une solution très simpliste:

JFrame frame = new JFrame("Grid");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

Grid grid = new Grid();
grid.setPreferredSize(new Dimension(600, 600));

frame.getContentPane().add("Center", grid);
frame.pack();
frame.setResizable(false);
frame.setVisible(true);


Ou bien tu peux faire une classe qui étend la classe JFrame et utiliser ce code.

public class MyFrame extends JFrame {
    public MyFrame() {
       super("Grid");

       setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

       Grid grid = new Grid();
       grid.setPreferredSize(new Dimension(600, 600));

       getContentPane().add("Center", grid);
       pack();
       setResizable(false);
       setVisible(true);

    }
}



vendredi 16 mai 2008 à 23:17:29 | Re : JLabel position et chemin d'image

ABF

re,

Je te remercie, je vais tenter tous cela demain matin

Merci beaucoup, si plus de développeurs JAVA etait comme toi !

Bonne soirée

PS, si j'ai d'autre questions ce week-end tu sera dispos ?

vendredi 16 mai 2008 à 23:47:03 | Re : JLabel position et chemin d'image

Ombitious_Developper

Salut:

Je t'en prie, c'est rien.

Bonne nuit.

samedi 17 mai 2008 à 10:40:06 | Re : JLabel position et chemin d'image

ABF

SAlut,

j'ai tester tout cela et avec :

    //ROUTINE
    public void main() {
        Grid maGrille = new Grid();
        maGrille.createGrid();
    }


    //GENERER LA GRILLE
    public class Grid extends JPanel {

        public static final int COUNT_X = 30;
        public static final int COUNT_Y = 15;
        public static final int WIDTH = 20;
        public static final int HEIGHT = 20;

        JFrame myFrame = new JFrame();
        JPanel panel = new JPanel();

        private JLabel[][] labels = new JLabel[COUNT_X][COUNT_Y];

        public Grid() {
            super(new GridLayout(COUNT_X, COUNT_Y, 1, 1));
        }

        public void createGrid() {
            for (int i = 0; i < COUNT_X; i++) {
                for (int j = 0; j < COUNT_Y; ++j) {
                    labels[i][j] = new JLabel();
                    labels[i][j].setPreferredSize(new Dimension(WIDTH, HEIGHT));
                    labels[i][j].setBorder(new BevelBorder(BevelBorder.RAISED));
                    add(labels[i][j]);
                }
            }
            myFrame.setContentPane(panel);
            myFrame.setTitle("Viewer");
            myFrame.setBounds(0,0,906,476);
            myFrame.setResizable(false);
            myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            myFrame.setVisible(true);
        }

        // Change l'image d'une case (JLabel)
        public void changeImg(int posX, int posY,String destImg){
            labels[posX][posY].setIcon(new ImageIcon(destImg));
        }
    
    }


rien ne s'affiche meme pas la feuille !
J'ai du fait une erreur de déclaration ?

samedi 17 mai 2008 à 10:49:49 | Re : JLabel position et chemin d'image

ABF

Ha ca frame s'affiche, fallait mettre :
JFrame myFrame = new JFrame();
JPanel panel = new JPanel();

dans le méthode createGrid CEPENDANT, les Jlabels ne s'affiche pas !

ET je n'arrive toujours pas à mettre de chemin relatif : bon projet est fait comme ceci :

Mon Projet
  - build
  - dist
  - nbproject
  - src
       - Mon Projet
                   - toutes les classes (*.java)
                   - img
                        - toutes mes images (*.jpg)
                   - map
                        - toutes mes maps (*.txt)









samedi 17 mai 2008 à 12:01:40 | Re : JLabel position et chemin d'image

Ombitious_Developper

Salut:

public class MyFrame extends JFrame {
    public MyFrame() {
       super("Grid");

       setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

       Grid grid = new Grid();
       grid.setPreferredSize(new Dimension(600, 600));

       getContentPane().add("Center", grid);
       pack();
       setResizable(false);

    }

    public static void main(String[] args) {
            MyFrame f = new MyFrame();
            f.
setVisible(true);
    }
}




1 2 3

Cette discussion est classé dans : image, chemin, jlabel, panel, myframe


Répondre à ce message

Sujets en rapport avec ce message

Image dans un JLabel [ par metalkev64 ] je cherche a afficher une image dans un JLabel, a l'aide du chemin d'accès. Actuellement je peu faire afficher une image en dans un JLabel en l'ajouta HTML et JLabel... [ par LoranFANFAN ] Bonjour! J'utilise des JLabel pour afficher de texte HTML. c super pratique bcp de balise sont reconnues. le pb c que des que j'essaie d'inserer une i font pour application [ par rarrou_dabdouba ] salut a tous je veus bien mettre un font une image simple au font de mo, application allors jé cerrer une jlabel dans laquel jé utiliser cet instructi Probleme JFrame [ par romainbisson ] Bonjour je souhaite effacer le contenut de ma Jframe et lors de l'action sur un bouton, je souhaite qu'elle soit redessiner mais je ne sais pas commen creer un image depuis un JLabel [ par aliahmad ] salutBufferedImage image = ImageIO.read(file);                    //Redimensionner l'image                    ImageIcon img = new ImageIcon(LimitDocum Image en fond JPanel [ par garpa ] Bonjour !Voilà, j'ai réussi à mettre une image en fond d'un JPanel et le tout dans une frame. Le probleme c'est que quand je redéfini des panels dans comment ajouter à un jLabel une image? [ par TSI3ISSAT ] salut!!! comment ajouter à un jLabel une image? image défilante [ par zenglena9 ] j'ai une fenêtre swing et grâce à un JLabel j'ait ajouté une image dans ma fenêtreen faisant :JLabel img =new JLabel("<span style="FONT-SIZE: 12pt; FO Insérer une image dans un JLabel avec setIcon [ par Sharkiller ] Bonsoir à vous :)Mon problème est dans le titre...Pour quelque chose de plus explicite, voici la partie à laquelle ce problème se rattache:public void Image dans JLabel [ par kerty1 ] Bonjour a tous , J'ai encore un probleme. J'aimerai mettre une image dans un JLabel ou JButton mais a chaque fois que je le charge sur le composant ,l


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


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,328 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é.