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 :

mettre dans une cellule de JTable un autre JTable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 86
    Par défaut mettre dans une cellule de JTable un autre JTable
    bonjour,
    salut tout le monde j'aimerais savoir si c'est possible de mettre une JTable dans une cellule particulière d'un autre JTable.
    merci.

  2. #2
    Membre expérimenté Avatar de uhrand
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 203
    Par défaut
    Citation Envoyé par gharras Voir le message
    j'aimerais savoir si c'est possible de mettre une JTable dans une cellule particulière d'un autre JTable.
    En principe c'est possible de mettre n'importe quel JComponent dans n'importe quelle cellule. Que veux tu faire exactement?

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 86
    Par défaut
    alors je vais donner un exemple de ce que je veux
    j'ai un questionnaire composer de plusieurs questions,et chaque question a plusieurs choix
    et je veux que j'affiche pour chaque question on JTable premièrement la question et pour chaque question tout les proposition possible
    et apres combien de fois chaque choix a ete choisis
    exemple:
    j'ai la question
    genre : qui accepte deux choix
    soit homme soit femme
    et par exemple les hommes qui on vote sont de nombre de 15 et les femme de nombre de 20
    et je veux faire ca pour tous mes questions

  4. #4
    Membre expérimenté Avatar de uhrand
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 203
    Par défaut
    L'exemple suivant utilise la classe TableLayout (c'est une extension de JTable pour permettre l'affichage de composants Swing dans les cellules).
    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
    /*
     * TableLayoutDemo.java
     */
    import java.awt.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.table.*;
    public class TableLayoutDemo extends JFrame {
        private TableLayout tableLayout;
        private String[] columnNames;
        private Random r = new Random();
        public TableLayoutDemo() {
            super("TableLayout Demo");
            setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            setSize(600, 300);
            setLocationRelativeTo(null);
            //create empty TableLayout:
            tableLayout = new TableLayout();
            //fill the TableLayout:
            tableLayout.addColumns("Question", "Reponses");
            tableLayout.addRow(new JLabel("Genre?"), createTable(1));
            tableLayout.addRow(new JLabel("Pays?"), createTable(2));
            tableLayout.addRow(new JLabel("Etat civil?"), createTable(3));
            TableColumn column = tableLayout.getColumnModel().getColumn(0);
            column.setMinWidth(60);
            column.setMaxWidth(280);
            getContentPane().add(new JScrollPane(tableLayout), BorderLayout.CENTER);
        }
        private JComponent createTable(final int type) {
            final String[] columnNames1 = new String[]{"Homme", "Femme"};
            final String[] columnNames2 = new String[]{"France", "Belgique", "Suisse", "autre"};
            final String[] columnNames3 = new String[]{"celibataire", "marie", "autre"};
            int columns = 0;
            if (type == 1) {
                columns = columnNames1.length;
                columnNames = columnNames1;
            } else if (type == 2) {
                columns = columnNames2.length;
                columnNames = columnNames2;
            } else {
                columns = columnNames3.length;
                columnNames = columnNames3;
            }
            DefaultTableModel model = new DefaultTableModel(0, columns) {
                @Override
                public String getColumnName(int column) {
                    return columnNames[column];
                }
                @Override
                public Class<?> getColumnClass(int columnIndex) {
                    return Integer.class;
                }
            };
            Integer[] rowData = new Integer[columnNames.length];
            for (int i = 0; i < rowData.length; i++) {
                rowData[i] = r.nextInt(100);
            }
            model.addRow(rowData);
            JTable table = new JTable(model);
            table.setSelectionBackground(Color.WHITE);
            table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
            JScrollPane jScrollPane = new JScrollPane(table);
            jScrollPane.setPreferredSize(new Dimension(200, 34));
            jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
            jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
            return jScrollPane;
        }
        public static void main(final String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    new TableLayoutDemo().setVisible(true);
                }
            });
        }
    }

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 86
    Par défaut
    merci beaucoup,
    je vais essayer de le pratiquer sur mon exmple
    merci

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

Discussions similaires

  1. [Toutes versions] Que mettre dans une cellule pour que estvide soit vrai
    Par jack-ft dans le forum Excel
    Réponses: 6
    Dernier message: 04/09/2012, 05h53
  2. [XL-2007] Mettre dans une cellule le contenu de la propriété Titre
    Par soazig dans le forum Excel
    Réponses: 3
    Dernier message: 24/11/2010, 11h07
  3. Mettre dans une cellule d'un MSFlexgrid 2 lignes
    Par benstile dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 31/03/2010, 10h45
  4. Réponses: 2
    Dernier message: 17/11/2008, 12h40

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