JTable

sokhna@ Messages postés 1 Date d'inscription vendredi 19 août 2016 Statut Membre Dernière intervention 20 août 2016 - Modifié par KX le 20/08/2016 à 12:52
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 20 août 2016 à 13:02
Bonjour,
je suis un étudiant dans le domaine de l'informatique.
Je veut metre un jButton dans un jTable et je ne sai pas comment le faire j'ai essayer avec ce bout de code et sa ne marche
le code est la:

model.addColumn("Code");
        model.addColumn("Designation");
        model.addColumn("Type Produit");
        model.addColumn("Marque");
        model.addColumn("Quantite");
        model.addColumn("Prix Unitaire");
        model.addColumn("detaille livraison");
        JButton detai=new JButton("detaille");
        ip.produits().stream().forEach(x -> model.addRow(new Object[]{
            x.getCode(),
            x.getDesignation(),
            x.getType().getType(),
            x.getMarque(),
            x.getQuantite(),
            x.getPu(),
          detai
         }));

si quelqu'un pourrez m'aider

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127
20 août 2016 à 13:02
Bonjour,

Dans un JModel il ne faut pas ajouter des boutons, mais configurer une cellule pour qu'elle ait un aspect bouton.

Voir cet exemple : http://www.java2s.com/Code/Java/Swing-Components/ButtonTableExample.htm

Et en particulier les lignes :

dm.setDataVector(new Object[][] { { "button 1", "foo" },
    { "button 2", "bar" } }, new Object[] { "Button", "String" });

On ajoutes dans le modèles des String qui s'appellent 'button 1" et "button 2" (dans ton cas ce sera "detaille")

table.getColumn("Button").setCellRenderer(new ButtonRenderer());

On modifies l'aspect de la colonne "Button" pour qu'ils ressemblent à un bouton, grâce à la classe ButtonRenderer qui définit :

public Component getTableCellEditorComponent(JTable table, Object value,
...
    return button;
} 
0
Rejoignez-nous