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 :

Afficher la JCombobox dans la JTable [Débutant(e)]


Sujet :

Composants Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 35
    Par défaut Afficher la JCombobox dans la JTable
    Bonjour,

    Je sais plusieurs topique ont déjà était créé à ce sujet, mais je n'arrive pas à les mettre en œuvre. Donc je ré-ouvre un topique dans l'espoir de mieux comprendre.

    Comme l'indique le titre, je cherche à afficher une Jcombobox dans une JTable.
    Problème, m'a JCombobox évolue constamment, Et surtout, elle est vide au début. Or dans tous les exemples que je vois, la JCombobox est initialisé à l’avance (et Il y a beaucoup de superflue autour de la partie importante, ceux qui m'empêche de bien cerner la partie importante).
    Pour l'instant voilà ce que je fais(en résumé):


    Initialisation de la table:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private int nombre_trou=16;
    private JTable tableau;
    private String table_titre[]={"Vial","Element Associé"};
    ZModel model=new ZModel(new Object[nombre_trou][table_titre.length], table_titre);
    tableau = new JTable(model);
    le modèle:
    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
     
    class ZModel extends AbstractTableModel{
      /**
             * 
             */
    	private static final long serialVersionUID = 1L;
    private Object[][] data;
      private String[] title;
     
      //Constructeur
      public ZModel(Object[][] data, String[] title){
        this.data = data;
        this.title = title;
      }
     
      //Retourne le nombre de colonnes
      public int getColumnCount() {
        return this.title.length;
      }
     
      //Retourne le nombre de lignes
      public int getRowCount() {
        return this.data.length;
      }
     
      //Retourne la valeur à l'emplacement spécifié
      public Object getValueAt(int row, int col) {
        return this.data[row][col];
      } 
     
      public String getColumnName(int col) {
    	  return this.title[col];
    	}
     
      public void setValueAt(Object arg0, int row, int col) {
    		this.data[row][col]=arg0;
    		fireTableCellUpdated(row, col);
      }
      public Class getColumnClass(int col){
    	  //On retourne le type de la cellule à la colonne demandée
    	  //On se moque de la ligne puisque les types de données sont les mêmes quelle que soit la ligne
    	  //On choisit donc la première ligne
    	  return this.data[0][col].getClass();
    	}
    //Retourne vrai si la cellule est éditable : celle-ci sera donc éditable
    public boolean isCellEditable(int row, int col){
      return true; 
    }
     
    }

    l'ajout de la Jcomobox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    private JComboBox<String> JCB=new JComboBox<String>() ;
    JCB.addItem("Rien");
    JCB.addItem("n'importe quoi");
    JCB.setSelectedItem("Rien");
     
    //on initialise la 2eme colonne (colonne 1):
     
    		for(int i=0;i<nombre_trou;i++){
    			tableau.setValueAt(JCB, i, 1);
    		}
    		tableau.setDefaultRenderer(JComponent.class, new TableComponent());
    		tableau.getColumn(table_titre[1]).setCellEditor(new DefaultCellEditor(JCB));
    }
    Pour l'instant je ne veut pas gérer l'ajout d'Item à ma JCombobox.
    Je veux juste réussir un affichage simple.
    Le bug: quand je click pour changer m'a valeur, sa affiche n'importe quoi:

    Merci a tous ceux qui se pencheront sur mon problème.
    Images attachées Images attachées  

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/07/2008, 21h06
  2. Afficher un TreeModel dans une JTable ?
    Par mugwump dans le forum Composants
    Réponses: 5
    Dernier message: 09/08/2007, 13h41
  3. Afficher les données dans ma JTable
    Par jojo57 dans le forum JDBC
    Réponses: 1
    Dernier message: 01/12/2006, 22h20
  4. Réponses: 6
    Dernier message: 20/09/2006, 12h01
  5. supprimer un item d'un jcombobox dans une jtable
    Par bellout dans le forum Composants
    Réponses: 6
    Dernier message: 22/06/2006, 17h06

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