begin process at 2010 02 10 15:00:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Multimédia

 > 

Java2D

 > 

Grille dans un Jpanel


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

Grille dans un Jpanel

mercredi 14 mai 2008 à 14:46:45 | Grille dans un Jpanel

ABF

>Slt, > >J'ai un soucis en Java avec Netbeans, > >Je veux réaliser un grille sur un Jpanel avec des images MAIS c'est pas concluant !!! > >Ci-dessous mon code : > > >public static void main(String args[]) { > java.awt.EventQueue.invokeLater(new Runnable() { > public void run() { > new Viewer().setVisible(true); > > genGrille gen = new genGrille; //marche pas !!!! > gen.generer(); > } > }); > } > > > class genGrille extends JPanel{ > > private JLabel[] tbl = new JLabel[450]; > private JPanel panel; > > // Constructeur de la classe Morpion > void generer() > { > // création Jpanel > Container cont = getContentPane(); > panel = new JPanel(); > cont.add(panel); > > > // Le gestionnaire de mise en forme du Panel panel est redéfini > // en grille de 15 lignes, 30 colonnes avec 0 pixels entre chaques > panel.setLayout(new GridLayout(15,30,0,0)); > > > // Création des images 450 (15*30) et ajout au Panel panel > for (int i=1 ; i<450 ; i++) > { > JButton btn = new JButton(""); > btn.setText(""); > btn.setBounds(30,30,30,30); // je veux du 30x30 pixels et le positionner en 0,0 > //btn.setMaximumSize(30,30); //impossible > //btn.setIcon("vide.bmp"); //impossible > panel.add(btn); > } > > > } > } > > >Merci de votre aide > > >++
mercredi 14 mai 2008 à 15:57:59 | Re : Grille dans un Jpanel

mouzart

slt

Post un code mieu formate si tu veux qu'on t'aide.

rgds
mercredi 14 mai 2008 à 16:15:11 | Re : Grille dans un Jpanel

ABF

Heu je t'envoie ca en MP car dans le Forum, le code se dés-indente
mercredi 14 mai 2008 à 21:23:44 | Re : Grille dans un Jpanel

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

le post initial indenté :

Slt,

J'ai un soucis en Java avec Netbeans,

Je veux réaliser un grille sur un Jpanel avec des images MAIS c'est pas concluant !!!

Ci-dessous mon code :


public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Viewer().setVisible(true);
                
                genGrille gen = new genGrille; //marche pas !!!!
                gen.generer();
            }
        });
    }
    
    
    class genGrille extends JPanel{

private JLabel[] tbl = new JLabel[450];
        private JPanel panel;
        
// Constructeur de la classe Morpion
void generer()
{
             // création Jpanel
             Container cont = getContentPane();
             panel = new JPanel();
             cont.add(panel);
            
            
             // Le gestionnaire de mise en forme du Panel panel est redéfini
     // en grille de 15 lignes, 30 colonnes avec 0 pixels entre chaques
     panel.setLayout(new GridLayout(15,30,0,0));
            

            // Création des images 450 (15*30) et ajout au Panel panel
            for (int  i=1 ; i<450 ; i++)
            {
                JButton btn = new JButton("");
                btn.setText("");
                btn.setBounds(30,30,30,30);  // je veux du 30x30 pixels et le positionner en 0,0
                //btn.setMaximumSize(30,30); //impossible
                //btn.setIcon("vide.bmp");   //impossible
                panel.add(btn);
            }
            

        }
    }





------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
mercredi 14 mai 2008 à 21:36:54 | Re : Grille dans un Jpanel

ABF

Merci, comment tu as fait pour l'indentation ? POur mieux comprendre, j'ai mis tout le projet dans http://cbprogs.free.fr/GestionGare.zip Je le mettrais sur JavaFr plus tard quand il sera finit, ca aidera les debutants comme moi ;) Merci de m'aider
mercredi 14 mai 2008 à 22:19:08 | Re : Grille dans un Jpanel

mouzart

 				 						Voila ce qui te manque a toi de choisir le bon x/y et les bon param des constraints
panel.setLayout(new GridLayout(15,30,0,0));
            

            // Création des images 450 (15*30) et ajout au Panel panel
            for (int  i=1 ; i<450 ; i++)
            {
GridBagConstraints contraintes= new GridBagConstraints();

contraintes.gridx = x;//la position par rapport a l axe des absciss
contraintes.gridy = y;//la position vertical
contraintes.gridwidth = largeur;
contraintes.gridheight = hauteur;
contraintes.fill = typeElargissement;
contraintes.anchor = typePosition;
contraintes.ipadx = etalementHorizontal;
contraintes.ipady = etalementVertical;

                JButton btn = new JButton("");
                btn.setText("");
                btn.setBounds(30,30,30,30);  // je veux du 30x30 pixels et le positionner en 0,0
                //btn.setMaximumSize(30,30); //impossible
                //btn.setIcon("vide.bmp");   //impossible
panel.getLayout()).setConstraints(sousComposant,contraintes);
                panel.add(btn);
            }
mercredi 14 mai 2008 à 22:54:27 | Re : Grille dans un Jpanel

ABF

Merci MAIS

genGrille gen = new genGrille();
gen.generer();

Plante maintenant

==================================
MA CLASSE COMPLETE :




package gestiongare;

import java.util.*;         //lecture + timer
import java.util.Timer;     //timer
import java.io.*;           //fichier
import java.lang.String;    //split

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



/**
*
* @author  Brice
*/
public class Viewer extends javax.swing.JFrame {
    
    static Timer t;
    static String [][] tblMap; //tbl de la map 2 dimensions
    

    /** Creates new form Viewer */
    public Viewer() {
        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() {

        btnEnd = new javax.swing.JButton();
        jPanel = new javax.swing.JPanel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Viewer");

        btnEnd.setText("QUITTER");
        btnEnd.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnEndActionPerformed(evt);
            }
        });

        jPanel.setBackground(new java.awt.Color(204, 204, 204));

        javax.swing.GroupLayout jPanelLayout = new javax.swing.GroupLayout(jPanel);
        jPanel.setLayout(jPanelLayout);
        jPanelLayout.setHorizontalGroup(
            jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 557, Short.MAX_VALUE)
        );
        jPanelLayout.setVerticalGroup(
            jPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 296, 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(876, Short.MAX_VALUE)
                .addComponent(btnEnd)
                .addContainerGap())
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(406, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addComponent(jPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 172, Short.MAX_VALUE)
                .addComponent(btnEnd)
                .addContainerGap())
        );

        getAccessibleContext().setAccessibleParent(jPanel);

        pack();
    }// </editor-fold>                        

private void btnEndActionPerformed(java.awt.event.ActionEvent evt) {                                      
    new Splash().setVisible(true);
    dispose();
}                                      

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Viewer().setVisible(true);
                
                //demande une map a charger
                    String temp="";
                    try
                    {
                        DataInputStream fichier;
                        fichier=new DataInputStream(new BufferedInputStream(new FileInputStream("chemin_du_fichier" )));
                        temp=fichier.readUTF();
                          
                        //fichier ouvert
                        //genere la grille
                        genGrille gen = new genGrille();
                        gen.generer();
                        
                        loadMap(temp);
                          
                        fichier.close();
                        
                        
                        //lance le jeu
                        t = new Timer();
                        t.schedule(new Jeu(), 0, 200);
                        
                    }
                    catch(Exception e)
                    {System.err.println("Message_erreur : " + e.getMessage() );
                    }
            }
        });
    }
    

    /*static class genGrille extends JPanel{
        private JLabel[] tbl = new JLabel[450];

        void generer()
        {
           // Auncun espacement entre les cases de la grille
           setLayout(new GridLayout(15,30,0,0));
            
           // Création et Ajout des images 450
           for (int  i=1 ; i<450 ; i++) {
                GridBagConstraints contraintes= new GridBagConstraints();

                contraintes.gridx = x;//la position par rapport a l axe des absciss
                contraintes.gridy = y;//la position vertical
                contraintes.gridwidth = largeur;
                contraintes.gridheight = hauteur;
                contraintes.fill = typeElargissement;
                contraintes.anchor = typePosition;
                contraintes.ipadx = etalementHorizontal;
                contraintes.ipady = etalementVertical;
              
              
              
                JLabel btn = new JLabel();
                btn.setText("");
                btn.setPreferredSize(new Dimension(30, 30));
                btn.setIcon(new javax.swing.ImageIcon(".\\img\\vide.jpg"));
                add(btn);
                btn.setVisible(true);
           }
        }
    }*/
    
    // OU BIEN
    
    class genGrille extends JPanel{

private JLabel[] tbl = new JLabel[450];
        private JPanel panel;
        
void generer()
{
             // création Jpanel
             Container cont = getContentPane();
             panel = new JPanel();
             cont.add(panel);
            
            
             // Le gestionnaire de mise en forme du Panel panel est redéfini
     // en grille de 15 lignes, 30 colonnes avec 0 pixels entre chaques
     panel.setLayout(new GridLayout(15,30,0,0));
            

            // Création des images 450 (15*30) et ajout au Panel panel
            for (int  i=1 ; i<450 ; i++)
            {
                
                GridBagConstraints contraintes= new GridBagConstraints();

     contraintes.gridx = 30*i;//la position par rapport a l axe des absciss
     contraintes.gridy = 15*i;//la position vertical
     contraintes.gridwidth = 900;
     contraintes.gridheight = 450;
     contraintes.fill = 1;//typeElargissement      |
     contraintes.anchor = 1;//typePosition         | PAS COMPRIS
     contraintes.ipadx = 1;//etalementHorizontal   |
     contraintes.ipady = 1;//etalementVertical     |
                
                JLabel btn = new JLabel();
                btn.setText("");
                btn.setPreferredSize(new Dimension(30, 30));
                btn.setIcon(new javax.swing.ImageIcon(".\\img\\vide.jpg"));
                add(btn);
                btn.setVisible(true);
                panel.add(btn);
            }
            

        }
    }
    
    
    
    
    // CHARGER LE FICHIER
    // PARSE CHAQUE LIGNE
    // MET EN FORME LE TABLEAU de la MAP
    static void loadMap(String fic) throws FileNotFoundException{
        
        int ligne;      //ligne du tbl de la map
        int colonne;    //colonne du tbl de la map

        String filePath = fic;
        Scanner scanner=new Scanner(new File(filePath));  // ????
        
        // On boucle sur chaque champ detecté
        ligne = 0;
        while (scanner.hasNextLine()) {
            String line = scanner.nextLine();
            
            //ajout tableau
            String[] tblTmp = line.split("|",10);
            
            colonne = 0;
            for (int  i=0 ; i<tblTmp.length ; i++)
            {tblMap[ligne][colonne] = tblTmp[i];
             colonne = colonne +1;
            }
            
        ligne = ligne + 1; // on passe à la ligne suivante
        }

        scanner.close();
    }
    

    
    static class Jeu extends TimerTask {
        
        private int xTrain; // horizontale
        private int yTrain; // verticale
        
        private Icon imgTmp; //image temporaire sur laquelle on va aller
        
        // on actionne le train
        public void run(){
            
            
            // on regarde sur chacun des 4 case a cote
            if(xTrain>0){                           // si on est pas a gauche
                if (yTrain>0 && yTrain<30){         // si on est pas en bordure Haut Bas
                    if (tblMap[xTrain][yTrain] != ""){
                        
                    }
                }else{
                    
                }
            }

        }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    // Variables declaration - do not modify                    
    private javax.swing.JButton btnEnd;
    private javax.swing.JPanel jPanel;
    // End of variables declaration                  

}






mercredi 14 mai 2008 à 23:00:38 | Re : Grille dans un Jpanel

ABF

Je pense qu'avec la source (projet) sur le site c'est plus clair et avec les couleur de l'IDE


Cette discussion est classée dans : grille, void, jpanel, panel, btn


Répondre à ce message

Sujets en rapport avec ce message

Scroll [ par MELISA ] Bonjour,Mon pb est le suivant:- je veux inserer un gif dans un JPanel, lui-même contenu dans un autre JPanel (je suis obligée d'utiliser un Panel au l Changer dynamiquement un JPanel par un autre [ par Angenoir ] Salut.J'aimerais concevoir une application graphique sympa mais je me heurte à quelques problèmes, mes connaissances en Java étant assez limitées Voil deplacer glisser [ par lafoune2 ] voila j'utilise ce morceau de code pour deplacer un jpanel sur un autre jpanel : void this_mouseDragged(MouseEvent e) { this.X += e.getX() - temp getGraphics + JPanel [ par CHKDSK2K ] Bonjour voilà mon code import javax.swing.*;import java.awt.Graphics;public class Dessin10{ public static void main (String [] args) { JFrame Fra pb: Jpanel transparent... [ par tlehoucq ] Voila g un pti pb, J' ai un panel principal qui contient plusieurs autres panels. J'aimerais que ces panels "fils" restent transparents jusqu'àce que problème avec JPanel et LayoutManager AU SECOURS [ par seb78 ] Bonjour,J'ai un JPanel properties dans lequel j'insère deux JPanel property l'un en dessous de l'autre._________| ______ || | | || |__1 _| || ajouter un jpanel [ par ptit pimousse ] Salut tout le monde voilà mon p'tit problème: j'ai deux classes la principale est Ecran extends JFrame avec un panel vide (pour l'instant), il s'appel Orientation dans un JPanel ou autre... [ par Zart ] En fait je voulais savoir comment on peut changer l'orientation d'un panel...J'ai déjà essayè avec la méthode setCompenentOrientation mais marche pas. Pb de raffraichissement dans 2 panel differents [ par Spawnrider ] Bonjour, je dispose d'une JFrame principal contenant un JPanel Terrain (GridLayout) contenant 150 JPanel Surface representant des carrés de surface. C Ajout d'un panel d'une classe differente [ par jbebert ] salutje développe une applet dans laquelle j'ai différents panels. Dans l'un d'entre eux  (jPanel_Stat1), je souhaite ajouter un panel (stat1) codée d


Nos sponsors


Sondage...

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,718 sec (3)

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