begin process at 2008 08 22 02:29:43
1 229 759 membres
30 nouveaux aujourd'hui
14 267 membres club

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 : Erreur incomprise sur les checkBox [ Archives / Au secours ] (Basounours)

Erreur incomprise sur les checkBox le 08/05/2006 15:31:36

Basounours
Bonjour, je suis un debutant en IHM et j'essaie de faire on application assez simple.

La 1ere interface doit me diriger sur une 2ème selon le resultat d'un Checkbox.

le probleme est que j'ai cette erreur

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at IHM.Bouton_Menu.getChoix(Menu_Ajout.java:69)
    at IHM.Bouton_Menu.actionPerformed(Menu_Ajout.java:63)
    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)


Ne connaissant rien au thread ... je pige pas grand chose.

voici mon code.


package IHM;

import java.awt.event.*; // Pour le ActionListener
import java.awt.*;  // Pour le container
import javax.swing.*;
import javax.swing.border.Border;

class Bouton_Menu extends JPanel
implements ActionListener    // interface écouteur d'événements
{
    private CheckboxGroup choix;
    private Checkbox ChoixManga;
    private Checkbox ChoixPerso;
    private Checkbox ChoixAuteur;
    private Checkbox ChoixAttaque;
    private Checkbox ChoixLieu;
    private Checkbox ChoixObjet;
   
    private JButton BoutonOk;
    private JButton BoutonKo;
    private JLabel test;
   
    public Bouton_Menu()
    {
        super(new GridLayout(0,1));
        // Création des boutons radios
        CheckboxGroup choix = new CheckboxGroup(); 
        ChoixManga = new Checkbox("Manga", choix, true);
        ChoixPerso = new Checkbox("Personnage", choix, false);
        ChoixAuteur = new Checkbox("Auteur", choix, false);
        ChoixAttaque = new Checkbox("Attaque", choix, false);
        ChoixLieu = new Checkbox("Lieu", choix, false);
        ChoixObjet = new Checkbox("Objet", choix, false);
        // Création des boutons OK et KO
        BoutonOk = new JButton("Ok");
        BoutonKo = new JButton("Quitter");
        test = new JLabel("aaaa");
       
        // Insertion des boutons dans l'objet Panel_Menu
        add(ChoixManga);
        add(ChoixPerso);
        add(ChoixAuteur);
        add(ChoixAttaque);
        add(ChoixLieu);
        add(ChoixObjet);
        add(BoutonOk);
        add(BoutonKo);
        add(test);
        // Les sources d'événements sont déclarées à l'écouteur
        BoutonOk.addActionListener(this); 
        BoutonKo.addActionListener(this);
    }
   
    public void actionPerformed(ActionEvent evt)
       // Permet de traiter l'événement en fonction de l'objet source
    {
        if (evt.getSource() == BoutonKo)
        {
            System.exit(0);
        }
        if (evt.getSource() == BoutonOk)
        {
            test.setName(getChoix());
        }
    }
   
    public String getChoix()
    {
        return choix.getSelectedCheckbox().getLabel().toString();
    }
}

class Panel_Menu extends JFrame
{
    public Panel_Menu()
    { 
        setTitle("Menu Ajout");
        this.setLocation(150, 150);
        setSize(300, 250);
        Container c = getContentPane();
        c.add(new JLabel("Séléctionner l'objet que vous voulez Ajouter"),BorderLayout.NORTH);
        c.add(new Bouton_Menu(),BorderLayout.WEST);
          setVisible(true);
    }
}

public class Menu_Ajout extends JFrame
{   
    public static void main(String[]telsArgs)
    {       
        //Appel de la classe Panel_Menu
        new Panel_Menu();
    }//main
}//classe Start




Voila merci ^^

Re : Erreur imcoprise sur les checkBox le 08/05/2006 16:18:31

yannick_parchemal
L'erreur est à la ligne : return choix.getSelectedCheckbox().getLabel().toString(); tu a oublier d'ajouter tes checkbox à la ChecbokGroup donc choix.getSelectedCheckbox() rend null et choix.getSelectedCheckbox().getLabel() provoque l'erreur

Re : Erreur imcoprise sur les checkBox le 08/05/2006 16:41:22

Basounours
c'est pas comme ca qu'on fait ???

        ChoixManga = new Checkbox("Manga", choix, true);
        ChoixPerso = new Checkbox("Personnage", choix, false);
        ChoixAuteur = new Checkbox("Auteur", choix, false);
        ChoixAttaque = new Checkbox("Attaque", choix, false);
        ChoixLieu = new Checkbox("Lieu", choix, false);

je les ajoute pourtant a choix qui est mon groupe ?
je connais pas d'autre solution pour le faire.
peut tu m'eclairer ???

Re : Erreur imcoprise sur les checkBox le 08/05/2006 17:10:38

scaryman
Réponse acceptée !
Salut
Il y a un problème : tu déclares 2 fois un CheckboxGroup choix
Il faut corriger dans le constructeur :
    choix = new CheckboxGroup();


Voila
A++



Classé sous : java, source, awt, at, unknown

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS