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 :

Cocher plusieurs JCheckBox


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2012
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 14
    Points : 6
    Points
    6
    Par défaut Cocher plusieurs JCheckBox
    Bonjours a tous ,
    J'ai une liste de string que je veux afficher sous forme de Jcheckbox pour pouvoir les sélectionner. J'ai donc ajouté un JcheckBox pour chaque string et ajouté tous ses JCheckbox a un JscrolPanel.
    Jusque la tout est bon ca m'affiche tout , je peux cocher decocher etc

    Sauf que j aimerai avoir un JBouton pour pouvroi cocher tous les JCheckBox . Et c'est laque j'ai un soucis ca me coche que le dernier se qui logique.

    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
    52
     
    private List<String> delpdf;
    	private JPanel panel;
    	private int leng;
    	private JCheckBox pdfCheck;
     
    	public List<String> getDelpdf() {
    		return delpdf;
    	}
     
    	public void setDelpdf(List<String> delpdf) {
    		this.delpdf = delpdf;
    	}
     
    	public PdfAnzeigenJDialog() {
    		// TODO Auto-generated constructor stub
    	}
     
    	public void listPdf() {
    		leng = delpdf.size();
    		this.setTitle("PDF anzeigen");
    		this.setSize(500, 600);
    		this.setLocationRelativeTo(null);
    		this.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
    		this.setModal(true);
     
    		panel = new JPanel();
    		panel.setLayout(new GridLayout(leng,2));
    		for(String pdfDel : delpdf){
    		  pdfCheck = new JCheckBox(pdfDel);
    			panel.add(pdfCheck);
    		}
    		JScrollPane scrollPane = new JScrollPane(panel);
    		JPanel panButon = new JPanel();
    		JButton  select = new JButton("Select All ");
    		select.addActionListener(new ActionListener() {
     
    			public void actionPerformed(ActionEvent e) {
    				pdfCheck.setSelected(true);
     
    			}});
    		JButton  loschen = new JButton("Löschen");
    		panButon.add(select);
    		panButon.add(loschen);
     
    		this.getContentPane().add(scrollPane, BorderLayout.CENTER);
    		this.getContentPane().add(panButon, BorderLayout.SOUTH);
    		this.setVisible(true);
    	}
     
     
    }
    Merci d'avance

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 108
    Points : 255
    Points
    255
    Par défaut
    Tu perd la reference des CheckBox que tu créer en faisant ca : pdfCheck = new JCheckBox(pdfDel);
    Tu garde seulement la dernière donc quand tu fais pdfCheck.setSelected(true); tu coche la CheckBox que tu as... il y en a bien qu'une.


    Tu peux faire une List<JCheckBox> pour garder toutes tes checkBox et dans ton action tu parcours ta liste et tu fais ton setSelected(true); pour chacune d'elles

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2012
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Ok merci bcp je vais tester avec une list , je pense effectivement que le traitement des checkbox n'est pas le bon , mais je ne savais pas trop comment faire pour afficher tous les checkbox

  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2012
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Merci bcp ca marche niquel , j'avais pas pense a ca

    Voici le code modifier
    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
     
    private List<String> delpdf;
    	private JPanel panel;
    	private int leng;
    	private JCheckBox pdfCheck;
    	private List<JCheckBox> pdfCheckList = new ArrayList<JCheckBox>();
     
    	public List<String> getDelpdf() {
    		return delpdf;
    	}
     
    	public void setDelpdf(List<String> delpdf) {
    		this.delpdf = delpdf;
    	}
     
    	public PdfAnzeigenJDialog() {
    		// TODO Auto-generated constructor stub
    	}
     
    	public void listPdf() {
    		leng = delpdf.size();
    		this.setTitle("PDF anzeigen");
    		this.setSize(500, 600);
    		this.setLocationRelativeTo(null);
    		this.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
    		this.setModal(true);
     
    		panel = new JPanel();
    		panel.setLayout(new GridLayout(leng, 2));
    		for (String pdfDel : delpdf) {
    			pdfCheck = new JCheckBox(pdfDel);
    			pdfCheckList.add(pdfCheck);
    			panel.add(pdfCheck);
    		}
    		JScrollPane scrollPane = new JScrollPane(panel);
    		JPanel panButon = new JPanel();
    		JButton select = new JButton("Select All ");
    		select.addActionListener(new ActionListener() {
     
    			public void actionPerformed(ActionEvent e) {
    				for (JCheckBox Jcheck : pdfCheckList) {
    					Jcheck.setSelected(true);
    				}
     
    			}
    		});
    		JButton loschen = new JButton("Löschen");
    		panButon.add(select);
    		panButon.add(loschen);
     
    		this.getContentPane().add(scrollPane, BorderLayout.CENTER);
    		this.getContentPane().add(panButon, BorderLayout.SOUTH);
    		this.setVisible(true);
    	}
     
    }

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 108
    Points : 255
    Points
    255
    Par défaut
    de rien et pense a cliquer sur Résolu alors

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/03/2008, 17h18
  2. declarer plusieurs JcheckBox dans une boucle
    Par 01211983 dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 21/02/2008, 01h47
  3. cocher un JCheckBox+ afficher un JButton
    Par nonna dans le forum Débuter
    Réponses: 3
    Dernier message: 16/02/2008, 11h55
  4. Cocher un JCheckbox par programme
    Par restricteur dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 28/09/2007, 18h23
  5. Groupe d'options : cocher plusieurs valeurs
    Par mawi dans le forum IHM
    Réponses: 5
    Dernier message: 24/09/2007, 10h04

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