Choix multiple
isa.dama
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour à tous.
Je suis débutant sur Java et je suis bloqué depuis 5 jours sur les checkbox.
J'ai besoin de créer un combobox contenant une liste à cocher(checkbox).
Je sais faire un combobox simple.
Mais je ne sais pas par ou commencer pour le combobox à choix multiple
.
J'utilise netbeans pour développer et je vous envoie mon code.
Je veux ajouter le combobox à choix multiple au niveau de la variable jCcritx1.
Aider moi svp !
Je suis débutant sur Java et je suis bloqué depuis 5 jours sur les checkbox.
J'ai besoin de créer un combobox contenant une liste à cocher(checkbox).
Je sais faire un combobox simple.
Mais je ne sais pas par ou commencer pour le combobox à choix multiple

J'utilise netbeans pour développer et je vous envoie mon code.
Je veux ajouter le combobox à choix multiple au niveau de la variable jCcritx1.
Aider moi svp !
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
dataStatu=false;
try{
stmt =maConnexion.ObtenirConnexion().createStatement();
int row=jTable1.getSelectedRow();
String table1_click=(jTable1.getModel().getValueAt(row,0).toString());
java.sql.Statement stmt1=maConnexion.ObtenirConnexion().createStatement();
java.sql.ResultSet resultat= stmt1.executeQuery("SELECT * FROM EMPLOYE WHERE matricule='"+table1_click+"'");
//Update combobox
if(resultat.next()){
jTMatricule.setText(resultat.getString("matricule"));
jTNom.setText(resultat.getString("nom"));
jTPrenom.setText(resultat.getString("prenom"));
jTDateNais.setDate(resultat.getDate("datenais"));
jTLieuNais.setText(resultat.getString("lieunais"));
jTVarLibre1.setText(resultat.getString("VarLibre1"));
jTVarLibre2.setText(resultat.getString("VarLibre2"));
jTVarLibre3.setText(resultat.getString("VarLibre3"));
jTVarLibre4.setText(resultat.getString("VarLibre4"));
jTVarLibre5.setText(resultat.getString("VarLibre5"));
jTVarLibre6.setText(resultat.getString("VarLibre6"));
jCSexe.setSelectedItem(resultat.getString("sexe"));
jCTitre.setSelectedItem(resultat.getString("titre"));
jCPaysNationalite.setSelectedItem(resultat.getString("paysNationalite"));
jCPaysNaissance.setSelectedItem(resultat.getString("paysNaissance"));
jCcrit1.setSelectedItem(resultat.getString("crit1"));
jCcrit2.setSelectedItem(resultat.getString("crit2"));
jCcrit3.setSelectedItem(resultat.getString("crit3"));
jCcrit4.setSelectedItem(resultat.getString("crit4"));
jCcrit5.setSelectedItem(resultat.getString("crit5"));
jCcrit6.setSelectedItem(resultat.getString("crit6"));
jCcrit7.setSelectedItem(resultat.getString("crit7"));
jCcrit8.setSelectedItem(resultat.getString("crit8"));
jCcrit9.setSelectedItem(resultat.getString("crit9"));
jCcrit10.setSelectedItem(resultat.getString("crit10"));
jCcrit11.setSelectedItem(resultat.getString("crit11"));
jCcrit12.setSelectedItem(resultat.getString("crit12"));
}
}catch(SQLException e){
}
}
private void jCcrit1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jCcritx1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
1 réponse
Bonjour,
Tout d'abord, très mauvaise idée d'apprendre à faire du Swing avec NetBeans, cela génère du code crade, difficile à comprendre ou à modifier.
Quant à ton besoin, il peut se faire grâce à une JComboBox<JCheckBox>
Exemple :

Tout d'abord, très mauvaise idée d'apprendre à faire du Swing avec NetBeans, cela génère du code crade, difficile à comprendre ou à modifier.
Quant à ton besoin, il peut se faire grâce à une JComboBox<JCheckBox>
Exemple :

import java.util.function.LongFunction;
import javax.swing.*;
public class JComboCheckBox extends JComboBox<JCheckBox> {
private static final long serialVersionUID = 1;
public JComboCheckBox(LongFunction<String> message, JCheckBox... checkBoxes) {
super(checkBoxes);
addActionListener(event -> {
JCheckBox checkBox = (JCheckBox) getSelectedItem();
checkBox.setSelected(!checkBox.isSelected());
});
JLabel countLabel = new JLabel();
setRenderer((list, value, index, isSelected, cellHasFocus) -> {
if (index != -1)
return value;
int count = 0;
ComboBoxModel<JCheckBox> model = getModel();
for (int i = 0, n = model.getSize(); i < n; i++) {
if (model.getElementAt(i).isSelected())
count++;
}
countLabel.setText(message.apply(count));
return countLabel;
});
}
public static void main(String[] args) {
JFrame frame = new JFrame();
JComboCheckBox comboCheckBox = new JComboCheckBox(count -> count + " jour(s)",
new JCheckBox("Lundi"),
new JCheckBox("Mardi"),
new JCheckBox("Mercredi"),
new JCheckBox("Jeudi"),
new JCheckBox("Vendredi"),
new JCheckBox("Samedi", true),
new JCheckBox("Dimanche", true));
frame.add(comboCheckBox);
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}