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

Interfaces Graphiques en Java Discussion :

p'tit 'blem d'affichage


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre éclairé
    Avatar de clio671
    Profil pro
    Développeur Web
    Inscrit en
    Février 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2007
    Messages : 203
    Par défaut p'tit 'blem d'affichage
    Bonjour,

    Donc voilà, j'essaye ds un jframe d'afficher en même tps un textfield et un panneau de nombres pr 1 calculette.
    Ainsi j'ai 1 'blem sur ce truc.
    Voici mon code :

    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
    import java.awt.*;
     
    import javax.swing.*;
     
    public class Calculatrice 
    {
    	public static void main(String[] arg)
    	{
     
    		JFrame fenetreCalculatrice = new JFrame("Calculatrice");
     
    		fenetreCalculatrice.setLocationRelativeTo(null) ;           //centre par rapport à l'ecran
    		fenetreCalculatrice.setSize(600, 600) ;
     
    		Container conteneurCalto = fenetreCalculatrice.getContentPane() ;
     
    		//conteneurCalto.setLayout( new LayoutManager(5,5,5) ) ;
     
    		FlowLayout flowLayout = new FlowLayout(5,5,5) ;
     
    		conteneurCalto.setLayout(flowLayout(5,5,5)) ;
     
    		EcranCalculatrice ecranCalculatrice = new EcranCalculatrice() ;
     
    		fenetreCalculatrice.add(ecranCalculatrice)  ;
     
    		fenetreCalculatrice.setVisible(true) ;
    ma classe EcranCalculatrice

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import javax.swing.*;
     
    public class EcranCalculatrice extends JPanel
    {
        //variables d'instances
    	private JTextField champInteractif ;
     
    	public EcranCalculatrice()
    	{
    		//instanciation
    		champInteractif = new JTextField("  ",40) ;
    	}
    }
    ma classe PanneauNombres

    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
    import java.awt.* ;
     
    import javax.swing.*;
     
     
    public class PanneauChiffres extends JPanel
    {
    	//private JButton[] tabChiffres ;
     
    	final static String[] CHIFFRES = { "0", "1", " 2 " ,"3" , "4","5" , "6" , "7" ,"8", "9"} ; 
     
             /**
             * constructeur qui  mes 10  chiffres de 0..9
             */
    	PanneauChiffres()
        {
     
     
    		JButton  tabChiffres ; 
     
    		 setLayout(new GridBagLayout()) ; // qd mon JPanel est creé, je modifie son layout manager grace à la methode setLayout(LayoutManager)
     
     
           for (int i=0; i<CHIFFRES.length; i++)
           {
              tabChiffres =new JButton(CHIFFRES[i]);
              add(tabChiffres);
           }          
        }
     
     
     
     
     
     
     
    	/*public PanneauChiffres()
    	{
    		//----> PENSEZ A FAIRE DES BOUCLES !!! 
    		tabChiffres = new JButton[10];
    		for(int i = 0 ; i < tabChiffres.length; i ++)
    		{
    		     tabChiffres[i] = new JButton(""+i+"") ;
     
    		     //besoin de cette boucle pr l'affichage du pave numerique
    		     for (int j = 1 ; j <= tabChiffres.length ; j++)
    		    	 this.add(tabChiffres[i]) ;
    		}	
    		//this.setLocation(this) ;
    	}		*/
     
     
    }
    Je suis à peu prés sur ke le 'blem vient des layout que j'utilise mais je ne sais pas précisement quoi?

    Si quelqu'un a un conseil, je suis preneur!!

    a+
    merci d'avance

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Juste si on pouvait avoir la description du problème, çà aide

  3. #3
    Membre éclairé
    Avatar de clio671
    Profil pro
    Développeur Web
    Inscrit en
    Février 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2007
    Messages : 203
    Par défaut
    Bon en fait j'ai résolu la p'tite géne!

    - les setLayouts ds les classes : on peut les effacer !

    - J'ai mis mon gestionnaire de placement ds mon main
    fenetreCalculatrice.setLayout(new GridLayout(0,2)) ;

    - et chaque fois pr rajouter mon composant j'ai fait :
    fenetreCalculatrice.add( new EcranCalculatrice()) ;

    ce qui donne :

    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
    import java.awt.*;
     
    import javax.swing.*;
     
    public class Calculatrice 
    {
    	private static  GridBagLayout gridBagLayout;
    	private static GridBagConstraints contrainte0, contrainte1, contrainte2;
     
     
    	public static void main(String[] arg)
    	{
     
    		JFrame fenetreCalculatrice = new JFrame("Calculatrice");
     
    		fenetreCalculatrice.setLocationRelativeTo(null) ;           //centre par rapport à l'ecran
    		fenetreCalculatrice.setSize(600, 600) ;
     
    		fenetreCalculatrice.setLayout(new GridLayout(0,2)) ;
     
    		fenetreCalculatrice.add( new EcranCalculatrice()) ;	//ok it's going!!
     
     
    		fenetreCalculatrice.add( new PanneauChiffres()) ;
    		/*Container conteneurCalto = fenetreCalculatrice.getContentPane() ;
     
    		//conteneurCalto.setLayout( new LayoutManager(5,5,5) ) ;
     
    		FlowLayout flowLayout = new FlowLayout(5,5,5) ;
     
    		conteneurCalto.setLayout(flowLayout(5,5,5)) ;
     
    		EcranCalculatrice ecranCalculatrice = new EcranCalculatrice() ;
     
    		fenetreCalculatrice.add(ecranCalculatrice)  ;*/
     
    		fenetreCalculatrice.setVisible(true) ;
    		//declaration de mes 3 zones c-a-d l'ecran, les differents paves et la barre de menu
    		/*gridBagLayout = new GridBagLayout() ;
     
    		contrainte0 = new GridBagConstraints() ;
    		contrainte1 = new GridBagConstraints() ;
    		contrainte2 = new GridBagConstraints() ;*/
     
    		/*PanneauChiffres pc = new PanneauChiffres() ;
    		fenetreCalculatrice.add(pc) ;*/
     
    		//ajout à ma fenetre principale du panneau qui contient le pavé numérique
    		//fenetreCalculatrice.setContentPane( new PanneauChiffres() ) ;
     
    		//PanneauOperateurs po = new PanneauOperateurs() ;
     
    		//fenetreCalculatrice.add(po) ;
    		//ajout à ma fenetre principale du panneau qui contient le panneau des operateurs
     
    		//fenetreCalculatrice.setContentPane( new PanneauOperateurs()) ;
     
    		//fenetreCalculatrice.setLayout(new GridLayout(3,4)) ;
    		//new FlowLayout (FlowLayout.LEFT,10,10) ;
     
     
    		/*//je declare mon container en tant que JPanel---celui là va contenir d'autres objets
    		Container c = new Container() ;
    		//fenetreCalculatrice.getContentPane() ;
    		c.setLayout(new GridLayout(0,2)) ;
     
    		//JPanel container = new JPanel() ;
     
    		//container.setLayout(new GridLayout(0,2)) ;
    		c.add(new PanneauChiffres()) ;
     
    		//pour ajouter a mon conteneur mon panneauOperateurs
    		//c.add(new PanneauOperateurs()) ;
     
     
     
     
    		//container.add(fenetreCalculatrice, new PanneauOperateurs()) ;
     
     
    		//je mets le conteneur ds mon JFrame ici fenetreCalculatrice	
    		fenetreCalculatrice.setVisible(true) ;*/
    	}
    }
    c'est pas tres beu mais ca marche
    si quelqu'un veut tchatcher sur mon code no souci
    a+

  4. #4
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 110
    Par défaut
    pas sur le code seulement...

    en français normal, et

    merci

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

Discussions similaires

  1. p'tit bug d'affichage
    Par skalimer0 dans le forum OpenGL
    Réponses: 24
    Dernier message: 12/10/2007, 13h50
  2. Pb affichage avec un PaintBox (pour eviter scintillement)
    Par juan64 dans le forum C++Builder
    Réponses: 7
    Dernier message: 08/04/2004, 09h21
  3. Affichage de documents PDF
    Par Dajon dans le forum C++Builder
    Réponses: 5
    Dernier message: 10/10/2002, 11h36
  4. probléme d'affichage d'une fiche
    Par sb dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 09h43
  5. Affichage en passant par un buffer...
    Par Sirotilc dans le forum MFC
    Réponses: 5
    Dernier message: 27/05/2002, 21h00

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