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

Agents de placement/Fenêtres Java Discussion :

[debutant] Gestion d'un JTabbedPane


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 73
    Points : 54
    Points
    54
    Par défaut [debutant] Gestion d'un JTabbedPane
    Bonjour

    Je suis entrain de créer une applet contenant un JTabbedPane.
    Voici le code de la classe d'initialisation
    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
     
    import javax.swing.JApplet;
    import javax.swing.JTabbedPane;
     
    public class servicejournalier2 extends JApplet{
    	/* étant donné que nous sommes dans une applet, nous devons utiliser une méthode init afin d'initialiser l'applet */
    	public void init() 
    	{ 
    	JTabbedPane tp = new JTabbedPane(); /*appel de la méthode JTabbedPane */
    	tp.addTab ("Semaine1", new semaine1Panel()); /* ajout d'un panneau appelé semaine1Panel qui est défini dans la classe semaine1Panel*/
    	tp.addTab ("Semaine2", new semaine2Panel()); 
     
    	this.getContentPane().add(tp);  
    	} 
     
    }
    Mon problème intervient dans la classe semaine1Panel
    voici le 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
    28
    29
    30
     
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Container;
    import java.text.DateFormat;
    import java.util.Date;
     
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.*;
    import java.awt.*;
     
    public class semaine1Panel extends JPanel {
    	private JLabel jlabel1;
    	private JPanel contentPane;
     
    	public semaine1Panel() {
    	    jlabel1 = new JLabel();
    		contentPane = (JPanel).this.getContentPane();
    	    jlabel1.setText("Sont absents ce jour");
     
    		contentPane.setLayout(null);
    		addComponent(contentPane, jlabel1, 17,45,154,18);
    	}
    	private void addComponent (Container container, Component c, int x, int y, int width, int height)
    	{
    		c.setBounds(x,y,width,height);
    		container.add(c);
    	}
    }
    A la ligne contentPane=(JPanel).this.getContentPane(); Eclipse souligne en rouge le this. Etant débutant, je ne vois pas comment régler ce problème.

    Merci de me donner un petit coup de main

  2. #2
    Membre régulier Avatar de jiraiya
    Inscrit en
    Mai 2002
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 100
    Points : 116
    Points
    116
    Par défaut
    enlève le point avant le this

  3. #3
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 73
    Points : 54
    Points
    54
    Par défaut contentpane
    Bonjour

    Merci de ta réponse. effectivement en supprimant le point devant le this, celui ci n'est plus souligné. Maintenant c'est getContentPane() qui est souligné et Eclipse précise que la méthode est indéfinie.
    Est ce que tu vois ce que je dois faire??

    Merci

  4. #4
    Membre régulier Avatar de calypso
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 102
    Points : 100
    Points
    100
    Par défaut
    je dirais qu'un JPanel n'a pas de contentPane. c'est plutot ce qu'on utilise pour une JFrame ou une Applet..

  5. #5
    Membre éclairé Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Par défaut
    Un JPanel est déjà un Container, donc tu n'as pas à faire de getContentPane(), tu fais des this.add (...)

    ps: Javadoc !!!!!!!!!!!!!!!

  6. #6
    Membre régulier Avatar de calypso
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 102
    Points : 100
    Points
    100
    Par défaut
    je pense que tu devrais plutot faire:

    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
     
     
    public class semaine1Panel extends JPanel {
       public semaine1Panel() {
           JLabel jlabel1 = new JLabel("Sont absents ce jour");
     
           setLayout(null);
          addComponent(jlabel1, 17,45,154,18);
       }
       private void addComponent (Component c, int x, int y, int width, int height)
       {
          c.setBounds(x,y,width,height);
          add(c);
       }
    }

    [edit]Remarque de remika[/edit]

  7. #7
    Membre éclairé Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Par défaut
    oui d'ailleurs ton JPanel contentpane il sert plus à rien du coup

  8. #8
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 73
    Points : 54
    Points
    54
    Par défaut contentPane
    ohlala

    Bon j'ai essayé de changer 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
    28
    29
    30
    31
     
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Container;
    import java.text.DateFormat;
    import java.util.Date;
     
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.*;
    import java.awt.*;
     
    public class semaine1Panel extends JPanel {
    	private JLabel jlabel1;
    	private JPanel contentPane;
    	private JTextArea absdujour;
    	private JScrollPane scrollabsdujour;
     
    	public semaine1Panel() {
    	    jlabel1 = new JLabel();
    	    jlabel1.setText("Sont absents ce jour");
     
    		contentPane.setLayout(null);
    		this.addComponent(contentPane, jlabel1, 17,45,154,18);
    	}
    	private void addComponent (Container container, Component c, int x, int y, int width, int height)
    	{
    		c.setBounds(x,y,width,height);
    		container.add(c);
    	}
    }
    Plus rien n'est souligné dans le code mais lorsque je lance l'applet, la fenêtre s'ouvre mais y a rien dedans, sauf applet non initialisé.

    Merci de m'aider


    PS: je sais que je suis nul

  9. #9
    Membre régulier Avatar de calypso
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 102
    Points : 100
    Points
    100
    Par défaut
    Au lieu de garder ce code, je te conseille vraiment de reprendre le bout de code qu'on t'a reecrit, puis de nous dire ce que ca fait..

    Bon courage!

  10. #10
    Membre éclairé Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Par défaut
    en dehors du fait que ça marche pas, à quoi sert contentPane ???

    -> tout à fait d'accord avec calypso

  11. #11
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 73
    Points : 54
    Points
    54
    Par défaut contentpane
    Voila voila

    J'avais pas vu le code proposé de Calypso.
    Donc je viens d'essayer le code de Calypso et cela FONCTIONNE


    Grand merci à vous


    J'en profite pour dire un grand merci à toute la communauté de developpez.com sans qui je n'aurai jamais réussi à développer mon projet de fin d'étude

  12. #12
    Membre régulier Avatar de calypso
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 102
    Points : 100
    Points
    100
    Par défaut
    Par exemple:

    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
     
    import javax.swing.*;
    import java.applet.*;
    import java.awt.*;
     
    public class MyApplet extends JApplet{
      public void init()
       {
       JTabbedPane tp = new JTabbedPane(); /*appel de la méthode JTabbedPane */
       tp.addTab ("Semaine1", new Semaine1Panel()); /* ajout d'un panneau appelé semaine1Panel qui est défini dans la classe semaine1Panel*/
     
       this.getContentPane().add(tp);
       }
     
      public class Semaine1Panel extends JPanel{
     public Semaine1Panel() {
           JLabel jlabel1 = new JLabel("Sont absents ce jour");
     
           setLayout(null);
          addComponent(jlabel1, 17,45,154,18);
       }
       private void addComponent (Component c, int x, int y, int width, int height)
       {
          c.setBounds(x,y,width,height);
          add(c);
       }
      }
    }
    Par contre, je n'ai pas mis ton semaine2, ne sachant pas a quoi ca sert.
    Et d'ailleurs, ne serait il pas mieux d'avoir une classe SemainePanel plutot que Semaine1Panel et Semaine2Panel? (remarque: les noms de classe commencent par une majusule)

    calypso

  13. #13
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 73
    Points : 54
    Points
    54
    Par défaut contentpane
    Re

    Je vous embête encore avec une petite chose bizarre. J'ai ajouté une liste contenant les jours de la semaine. Lorsque je fais fonctionner le projet dans eclipse, la liste n'apparait pas sur le panneau 1. MAIS si je clic sur le panneau2 et puis je reclic sur le panneau1 alors elle est la.

    Voici le 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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Container;
    import java.text.DateFormat;
    import java.util.Date;
     
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    public class semaine1Panel extends JPanel {
     
    	public semaine1Panel() {
    	    JLabel jlabel1 = new JLabel("Sont absents ce jour");
    	    JLabel jlabel2 = new JLabel("Les jours de la semaine");
     
    	    /* listbox de droite contenant les jours de la semaine */
    	    List joursem = new List(6);
    	    joursem.add("Lundi");
    	    joursem.add("Mardi");
    	    joursem.add("Mercredi");
    	    joursem.add("Jeudi");
    	    joursem.add("Vendredi");
    	    joursem.add("Samedi");
    	    joursem.add("Dimanche");
    	    joursem.addActionListener(new ActionListener()
    		{
    	    	public void actionPerformed(ActionEvent e)  {
     
    	    	}
    		});
     
     
    	    /* disposition à l'écran des éléments de l'interface */
    	    setLayout(null);
    	    addComponent(jlabel1, 17,45,154,18); 
    	    addComponent(jlabel2, 777,45, 154, 18);
    	    addComponent(joursem, 780, 75, 154, 128);
     
     
    	}
    	private void addComponent ( Component c, int x, int y, int width, int height)
    	{
    		c.setBounds(x,y,width,height);
    		add(c);
    	}
    }
    Merci pour votre aide

  14. #14
    Membre régulier Avatar de calypso
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 102
    Points : 100
    Points
    100
    Par défaut
    chez moi ca marche, a part que j'ai change les coordonnees (277 et 280 au lieu de 777 et 780) pour que ca prenne moins de place..

    Etrange..

  15. #15
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 73
    Points : 54
    Points
    54
    Par défaut contentPane
    Salut

    Le principale c'est que cela apparait

    peut être que c'est un problème avec éclipse


    Merci pour tout

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/09/2006, 01h12
  2. [debutant]gestion des messages des exceptions
    Par maxvador dans le forum Langage
    Réponses: 4
    Dernier message: 03/02/2006, 14h55
  3. [Debutant] Gestion d'erreur
    Par Goon dans le forum Langage
    Réponses: 2
    Dernier message: 02/02/2006, 12h21
  4. [debutant] Gestion de chèques en Excel
    Par telise dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/11/2005, 09h55
  5. [Debutant] gestion des couleurs ??
    Par MaxiMax dans le forum OpenGL
    Réponses: 5
    Dernier message: 26/03/2004, 08h34

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