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

AWT/Swing Java Discussion :

probleme dans swing


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Par défaut probleme dans swing
    J'ai un petit probleme,que je pense est lié a swing.
    Le but,est de creer une fentre principal,avec a gauche,des ongletsqui sont en fait des jpanel,et ceux ci contiennent des Jcheckbox.

    A droite(de la fenetre),je cree un jpanel,qui contient un bouton reset,
    qui est sensé decoché tous les checkbox.

    Mon idée etait de passer en parametre les references des differents onglets a l'objet panelstart ,et a partir de cet objet je decoche
    tous les checkbox
    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
     
    import javax.swing.*;
     
    import java.awt.event.*;
    import java.awt.*;
     
     
     
     
    public class frame {
     
     
     
    	public static void main(String[] args) {
    		JFrame frame=new JFrame("Classification test");
     
     
    		//Creation de l'objet onglet qui gerent les onglets
    		JTabbedPane onglets = new JTabbedPane(SwingConstants.TOP);
     
    	//Onglet 1	
    	    panelservices onglet1 = new panelservices();
     
    	    JLabel titreOnglet1 = new JLabel("Onglet 1");
    	    onglet1.setPreferredSize(new Dimension(300, 80));
     
     
    	    onglets.addTab("services", onglet1);
     
     
     
     
     
     
    	    onglet1.setPreferredSize(new Dimension(300, 80));
     
     
      onglets.addTab("Systeme exploitation", onglet4);
     
     
     
     
    panelstart panel2=new panelstart(onglet1,onglet2,onglet3,onglet4);	
     
    	   	panel2.setLayout(new BoxLayout(panel2,BoxLayout.Y_AXIS));
     
     
    		JPanel panel1=new JPanel();
     
    		panel1.add(onglets);
     
    		frame.getContentPane().add(BorderLayout.WEST,panel1);
    		frame.getContentPane().add(BorderLayout.EAST,panel2);
     
     
     
    		   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
               frame.setSize(500,200);
               frame.setVisible(true);
     
     
     
     
    	}
     
     
     
     
     
     
     
     
     
    }

    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 javax.swing.*;
     
    import java.awt.event.*;
    import java.awt.*;
     
     
    public class panelstart extends JPanel{
    	JButton bouton1;
    	JButton bouton2;
     
    	//References vers d'autres objets.
    	panelservices onglet1;
    	 public panelstart(panelservices ongleser){
     
     
    	     bouton1 = new JButton("Start");
    		    add(bouton1);
    		    bouton2 = new JButton("Reset");
    		    add(bouton2);
    		    bouton2.addActionListener(new ifield1());
    		    onglet1=ongleser;
     
     
     
     
    		  }
     
     
     
    	 class ifield1 implements ActionListener{
         	  public void actionPerformed(ActionEvent event)
           {
     
     
     
           	onglet1.bouton2.setSelected(false);
           	onglet1.bouton3.setSelected(false);
     
     
     
     
     
     
           }
    	 }
     
     
     
     
    }

    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
     
    import javax.swing.*;
     
    import java.awt.event.*;
    import java.awt.*;
     
     
    public class panelservices extends JPanel{
    	JPanel pannel;
    	JCheckBox bouton1;
    	JCheckBox bouton2;
    	JCheckBox bouton3;
     
     
     
     
    	 public panelservices(){
     
     
    		    pannel = new JPanel();
    		    this.add(pannel);
    		    JCheckBox bouton1 = new JCheckBox("telnet");
    		    pannel.add(bouton1);
    		    JCheckBox bouton2 = new JCheckBox("ftp");
    		    pannel.add(bouton2);
    		    JCheckBox bouton3 = new JCheckBox("sql server");
    		    pannel.add(bouton3);
     
     
    		  }
     
     
     
     
     
     
    }

    Mais,j'obtient cela comme erreur:
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at panelstart$ifield1.actionPerformed(panelstart.java:52)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(questionPrecise) {
        chercherUneReponse();
    } else {
        throw new QuestionException();
    }
    QuestionException: c'est quoi ta question ?
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Membre éprouvé Avatar de BlackWood
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Par défaut
    Citation Envoyé par kalmless21
    A droite(de la fenetre),je cree un jpanel,qui contient un bouton reset,
    qui est sensé decoché tous les checkbox.
    Laisse-moi deviner...
    Les checkBox ne sont pas décochés quand on appuit sur reset ?
    Ou le JPanel s'affiche à gauche (de la fenêtre) ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Par défaut
    J'ai edité mon message avec la question en plus,je pensais pas que vous alliez repondre si rapidement.
    Merci

  5. #5
    Membre éprouvé Avatar de BlackWood
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Par défaut
    Alors déjà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onglets.addTab("Systeme exploitation", onglet4);
    onglet4 ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    panelstart panel2=new panelstart(onglet1,onglet2,onglet3,onglet4);
    ??? Où est le constructeur panelstart(panelservices,panelservices,panelservices,panelservices) ?

  6. #6
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Là c'est mieux , alors regarde bien l'exception qui est levée :
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at panelstart$ifield1.actionPerformed(panelstart.java:52)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    Tu as déjà la ligne qui a provoquée l'erreur (ligne 52 du fichier panelstart.java).

    Il s'agit de la méthode actionPerformed de ton ActionListener (ifield1), voyons sont code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void actionPerformed(ActionEvent event) {
        onglet1.bouton2.setSelected(false);
        onglet1.bouton3.setSelected(false);
    }
    L'exception levée est une NullPointerException ce qui signifie que tu as un objet à null alors qu'il ne devrait pas l'être. Il s'agit donc soit de onlet1 soit de bouton2 (ou bouton3 selon quelle ligne est la 53). Cherche à partir de là c'est sûrement un problème d'initialisation.

    PS : Par convention les noms des classes commencent par une majuscule.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Par défaut
    onglet4 ?
    Où est le constructeur panelstart(panelservices,panelservices,panelservices,panelservices) ?
    J'ai supprimé des bouts de code,en particulier le code non utile pour comprendre le fctionnement globale.

    Ce que j'ai fait:
    j'ai remplacé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onglet1.bouton2.setSelected(false);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(!onglet1.equals("hi")){
         			 System.out.println("kkk");
         		 }
    J'obtiens biens kkk
    Cela prouve que l'objet bouton2 n'est pas instancié?
    Mais comment l'objet n'est pas instancié,alors que lorsque
    je cree onglet1(instance de la classe panelservice),j'instancie le bouton
    a l'aide du constructeur?

  8. #8
    Membre éprouvé Avatar de BlackWood
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Par défaut
    ???
    .equals(Object) renvoie un boolean si l'objet est strictement égal à celui référencé par l'instance.
    Je ne vois pas le sens de onglet1.equals("hi").

    Les bouton1, bouton2 et bouton3 sont null.
    N'aurais-tu pas oublié un PanelServices ps = new PanelServices(), par hasard ?

  9. #9
    Membre éprouvé Avatar de BlackWood
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Par défaut
    Et les revoici commentée
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Probleme dans request.QueryString("chaine")
    Par soufienne dans le forum ASP
    Réponses: 8
    Dernier message: 24/08/2004, 14h49
  2. Probleme dans une procedure stockée
    Par malbaladejo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/07/2004, 14h08
  3. petit probleme dans une requte POSTGRE SQL
    Par ghis le fou dans le forum Requêtes
    Réponses: 5
    Dernier message: 08/09/2003, 13h51
  4. Probleme dans une clause like !
    Par adil dans le forum Langage SQL
    Réponses: 6
    Dernier message: 15/07/2003, 16h47
  5. Probleme dans ma requete
    Par Kuroro dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/07/2003, 11h14

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