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

Composants Java Discussion :

Table recuperé de la base + une colonne radiobox


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Par défaut Table recuperé de la base + une colonne radiobox
    Bonjour, je suis en train de développer une application de gestion d'absence
    au fait j'ai un tableau ou je récupère tout les etudiants de la base de donnée et devant chaque étudiant je dois mettre 2 radiobox s'il est absent ou present
    voila peu pres un modele de ce que je veux realiser




    au fait j'ai des problemes dans la colonne ou je dois mettre les 2 radios box et voila le code source qui manque quelque chose apparemment (je suis debutant dans le domaine):

    classe jtable
    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
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    import javax.swing.*;
    import javax.swing.table.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
    import java.util.*;
    public class ListeJTable extends JPanel implements ActionListener {
    private Connection con = null;
    private Statement requete = null;
    private ResultSet rs = null;
    private JTable tableVisible = null;
    //InfosIp : Argument de type Panel
    public ListeJTable(){
    try{
    //Connexion SGDB
    String url = "jdbc:mysql://localhost/ecole";
    String login = "root";
    String paswordd = null;
    con = DriverManager.getConnection(url,login,paswordd);
    requete = con.createStatement();
    rs = requete.executeQuery("SELECT * FROM eleve");
    ResultSetMetaData md = rs.getMetaData();
    int columnCount = md.getColumnCount()+1; // je recupere le nombre des colonnes de la base de donnée et j'ajoute une pour les radiobox
    //utilisation de Vector
    Vector columns = new Vector(columnCount);
    for(int i=1; i<columnCount; i++)
    {columns.add(md.getColumnName(i));
     
    }columns.add("Absence");
    Vector data = new Vector();
    Vector row;
    while(rs.next())
    {
    row = new Vector(columnCount);
    for(int i=1; i<columnCount; i++)
    {
    row.add(rs.getString(i));
     
    }
    data.add(row);
     
    }
     
     
     
     
    final JTable table = new JTable(data, columns);
     
     
    ///////// traitement sur la colonne des RadioBox
     
    TableColumn column = table.getColumnModel().getColumn(2);
     
    column.setCellRenderer(new RadioButtonRenderer());
     
    column.setCellEditor(new RadioButtonEditor(new JCheckBox()));
     
    /////////
     
     
    table.setPreferredScrollableViewportSize(new Dimension(500, 570));
    table.setRowHeight(30);
    table.setFillsViewportHeight(true);
    JScrollPane scrollPane = new JScrollPane(table);
    JTableHeader header = table.getTableHeader();
    header.setBackground(Color.blue);
    table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
    table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    add(scrollPane);
    this.setBorder(javax.swing.BorderFactory.createTitledBorder("liste enseignants"));
    this.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
    if (e.getClickCount() == 1) {
    System.out.println("Hello");
    }
    }
    });
    }
    catch(SQLException sqle){
    //cf Comment gérer les erreurs ?
    System.out.println(sqle);
    sqle.printStackTrace();
    }
    }
    public void actionPerformed(ActionEvent event) {
    }
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    JFrame application = new JFrame();
    ListeJTable jtable = new ListeJTable();
    application.add(jtable);
    application.setSize(new Dimension(600, 400));
    application.setVisible(true);
    application.validate();
    }
     
     
    }
    classe RadioButtonEditor

    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
     
     
     
     
    import java.awt.Component;
     
    import java.awt.event.ItemEvent;
     
    import java.awt.event.ItemListener;
     
    import javax.swing.ButtonGroup;
     
    import javax.swing.DefaultCellEditor;
     
    import javax.swing.JCheckBox;
     
    import javax.swing.JRadioButton;
     
    import javax.swing.JTable;
     
    public class RadioButtonEditor extends DefaultCellEditor implements ItemListener {
     
    public JRadioButton btn = new JRadioButton();
     
    public RadioButtonEditor(JCheckBox checkBox) {
     
    super(checkBox);
     
    }
     
    public Component getTableCellEditorComponent(JTable table, Object
     
    value, boolean isSelected, int row, int column) {
     
    if (value==null) return null;
     
    btn.addItemListener(this);
     
    if ( ( (Boolean) value).booleanValue())
     
    btn.setSelected(true);
     
    else
     
    btn.setSelected(false);
     
    return btn;
     
    }
     
    public Object getCellEditorValue() {
     
    if(btn.isSelected() == true)
     
    return new Boolean(true);
     
    else
     
    return new Boolean(false);
     
    }
     
    public void itemStateChanged(ItemEvent e) {
     
    super.fireEditingStopped();
     
    }
     
    }
    classe RadioButtonRender

    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
     
     
    import java.awt.Component;
     
    import javax.swing.JRadioButton;
     
    import javax.swing.JTable;
     
    import javax.swing.table.TableCellRenderer;
     
    class RadioButtonRenderer implements TableCellRenderer {
     
    public JRadioButton btn = new JRadioButton();
     
    public Component getTableCellRendererComponent(JTable table, Object
     
    value,boolean isSelected, boolean hasFocus, int row, int column) {
     
    if (value==null)
     
    return null;
     
    if(((Boolean)value).booleanValue())
     
    btn.setSelected(true);
     
    else
     
    btn.setSelected(false);
     
    if (isSelected) {
     
    btn.setForeground(table.getSelectionForeground());
     
    btn.setBackground(table.getSelectionBackground());
     
    } else {
     
    btn.setForeground(table.getForeground());
     
    btn.setBackground(table.getBackground());
     
    }
     
    return btn;
     
    }
     
    }
    au fait je c'est pas comment afficher les radioBox c'est un peur flou, est ce que quelqu'un peut m'aider et merci

  2. #2
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Par défaut
    c'est resolu.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/01/2010, 22h18
  2. Réponses: 3
    Dernier message: 18/02/2009, 18h00
  3. Réponses: 2
    Dernier message: 24/10/2008, 08h04
  4. tri d'une table dont le nom d'une colonne est Date
    Par welid dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 27/11/2007, 22h10
  5. Réponses: 4
    Dernier message: 18/10/2007, 15h09

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