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 :

combobox dans une cellule


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 36
    Par défaut combobox dans une cellule
    Bonjour à tous voila je travail sur un projet sous jbuilder, je c'est que cette question est tres redondante ( j'ai parcourus tout les articles du forum ainsi que les tuto de chez sun d'où je me suis d'ailleurs basé pour construire mon code), mais rien a faire la combobox ne veu pas s'afficher, pourtant jbuilder ne détecte pas d'erreurs, je suis depuis toute la matiné dessus et je commence un peu a perdre patience surtout que mon boss veux des progres rapides

    Voici le code de mon model de table :
    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
    import javax.swing.DefaultCellEditor;
    import javax.swing.JComboBox;
    import javax.swing.JTable;
    import javax.swing.table.AbstractTableModel;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.TableColumn;
     
    class MyTableModel extends AbstractTableModel {
     
     
            private String[] columnNames = {"Date",
                                            "Echéance",
                                            "Mode_de_paiement",
                                            "Libellé",
                                            "Montant"};
            private Object[][] data = {
                {"", "",
                "", new Float(1.254), new Integer (5)},
            };
     
            public int getColumnCount() {
                return columnNames.length;
            }
     
            public int getRowCount() {
                return data.length;
            }
     
            public String getColumnName(int col) {
                return columnNames[col];
            }
     
            public Object getValueAt(int row, int col) {
                return data[row][col];
            }
     
     
            /*
             * JTable uses this method to determine the default renderer/
             * editor for each cell.  If we didn't implement this method,
             * then the last column would contain text ("true"/"false"),
             * rather than a check box.
             */
            public Class getColumnClass(int c) {
                return getValueAt(0, c).getClass();
            }
     
            /*
             * Don't need to implement this method unless your table's
             * editable.
             */
            public boolean isCellEditable(int row, int col) {
                //Note that the data/cell address is constant,
                //no matter where the cell appears onscreen.
                if (col < 2) {
                    return false;
                } else {
                    return true;
                }
            }
     
        public void setUpMode_de_paiement(JTable tableau2,
            TableColumn Mode_de_paiement) {
            setUpMode_de_paiement(tableau2, tableau2.getColumnModel().getColumn(3));
        //Set up the editor for the sport cells.
        JComboBox comboBox = new JComboBox();
        comboBox.addItem("Snowboarding");
        comboBox.addItem("Rowing");
        comboBox.addItem("Knitting");
        comboBox.addItem("Speed reading");
        comboBox.addItem("Pool");
        comboBox.addItem("None of the above");
        Mode_de_paiement.setCellEditor(new DefaultCellEditor(comboBox));
     
        //Set up tool tips for the sport cells.
        DefaultTableCellRenderer renderer =
                new DefaultTableCellRenderer();
        renderer.setToolTipText("Click for combo box");
        Mode_de_paiement.setCellRenderer(renderer);
     
    }
            }
    Et ici celui ci ou j'appel mon tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public JTable getTableau2() {
    			if (tableau2 == null) {
    				tableau2 = new JTable();
    				tableau2.setColumnSelectionAllowed(true);
    				MyTableModel model= new MyTableModel();
    				tableau2.setModel(model);
     
    			}
    			return tableau2;
    		}
    Je pense que je ne suis pas loin d'y arrivé mais quelque chose doit m'échappé, dsl si cela parait facile je n'ai commencé qu'il y a 2 semaines..
    Merci d'avance pour votre aide

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 36
    Par défaut
    Quelqu'un aurait-t-il une réponse ou tout du moins une piste? je suis un peu desespéré la

  3. #3
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Cette fonction me frise les poils de la barbe...
    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
     public void setUpMode_de_paiement(JTable tableau2,
                TableColumn Mode_de_paiement) {
        setUpMode_de_paiement(tableau2, tableau2.getColumnModel().getColumn(3));
        //Set up the editor for the sport cells.
        JComboBox comboBox = new JComboBox();
        comboBox.addItem("Snowboarding");
        comboBox.addItem("Rowing");
        comboBox.addItem("Knitting");
        comboBox.addItem("Speed reading");
        comboBox.addItem("Pool");
        comboBox.addItem("None of the above");
        Mode_de_paiement.setCellEditor(new DefaultCellEditor(comboBox));
     
        //Set up tool tips for the sport cells.
        DefaultTableCellRenderer renderer =
                new DefaultTableCellRenderer();
        renderer.setToolTipText("Click for combo box");
        Mode_de_paiement.setCellRenderer(renderer);
     
    }
    Tu fais un appel récursif à ta fonction au tout début donc, ton programme ne rentre pas dans la seconde partie et ne peux pas créer ta ComboBox. De plus, comme il s'agit de la fonction dans laquelle tu crée ta ComboBox il faut que tu t'en serves dans ta fonction qui utilise ton tableau...
    Enfin, c'est pas très clair ton programme (désolé de te le dire )

    Essaie d'être juste un poil plus précis

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 36
    Par défaut
    oui je sais que ce n'est pas clair :/ c'est un mélange de copier collé et de modifications et je suis un peu paumé, mais je suis incapable de faire ca tout seul, je ne voit pas en quoi je pourrait etre plus précis

  5. #5
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Attends, reprenons tout les 2 notre souffle

    Bon, à quoi te sert la première ligne de ta fonction setUpMode_de_paiement ?
    Ensuite, est-ce que tu appelles cette fonction quand tu te sers de ton JTable?

    On va commencer par là, puis après on verra au fur et à mesure

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 36
    Par défaut
    j'avou que je ne sais pas a quoi cela sert ( pur copié collé ) et non je ne m'en sert pas apres, en gros cela ne sert a rien ?

  7. #7
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut


    Bon, en gros t'as fonction setUpMode_de_paiement fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Appel à setUpMode_de_paiement 
    Appel à setUpMode_de_paiement 
    Appel à setUpMode_de_paiement 
    Appel à setUpMode_de_paiement 
    Appel à setUpMode_de_paiement 
    Appel à setUpMode_de_paiement 
    Appel à setUpMode_de_paiement 
    Appel à setUpMode_de_paiement 
    Appel à setUpMode_de_paiement
    Et ceci, tout le temps avec les mêmes paramètres, mais comme tu l'appelles pas, tu n'as pas pu te rendre compte que tu avais une boucle infini

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/03/2010, 09h58
  2. Combobox dans une cellule d'un datagridview
    Par mhamdi45 dans le forum VB.NET
    Réponses: 4
    Dernier message: 31/03/2009, 20h14
  3. Réponses: 2
    Dernier message: 30/10/2008, 13h28
  4. [JTable] Ajouter un combobox dans une cellule
    Par monpseudonom dans le forum Composants
    Réponses: 1
    Dernier message: 08/04/2008, 00h34
  5. jtable, combobox dans une cellule
    Par fraco dans le forum Composants
    Réponses: 8
    Dernier message: 27/10/2007, 11h20

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