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 :

Affichage d'une liste dans un jPanel


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Inscrit en
    janvier 2009
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 312
    Points : 105
    Points
    105
    Par défaut Affichage d'une liste dans un jPanel
    Bonjour la Communauté,

    J'essaie d'afficher le résultat d'un resultset dans un JPanel mais cela ne fonctionne.
    Dans un textArea cela fonctionne. Mais le probleme c'est que l'on sait écrire dedans.

    Merci pour vos conseils.

    Habiler

    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
     
        private void intEmployeeNbrFocusLost(java.awt.event.FocusEvent evt) {                                         
            searchPerson();
            // TODO add your handling code here:
            System.out.println("TextArea -1:" + EmployeeNbr);
            try {
                Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(Ecran.class.getName()).log(Level.SEVERE, null, ex);
            }
     
            try {
                // establishing connection
                conn = DriverManager.getConnection("jdbc:ucanaccess://c:/Users\\hab\\Desktop\\Decisions1.accdb","","");
            } catch (SQLException ex) {
                Logger.getLogger(Ecran.class.getName()).log(Level.SEVERE, null, ex);
            }
            //JLabel lblFname, lblLname, lblPhoneNumber;
     
            PreparedStatement ps;
            int EmployeeNbr = Integer.parseInt(intEmployeeNbr.getText());
            try {
                System.out.println("TextArea 1:" + EmployeeNbr);
                String SQL = "SELECT * FROM Decisions where EmployeeNbr = ?";
                ps = conn.prepareStatement(SQL);
                ps.setInt(1 , EmployeeNbr);
                ResultSet rs2 = ps.executeQuery();
     
                System.out.println("TextArea 2:" + EmployeeNbr);
     
                while ( rs2.next()) {
                    //  String newValue = Double.toString(Math.floor(EmployeeNbr));
                    int newDecNumber = (int)Math.floor(DecNumber);
                    int newEmployeeNbr = (int)Math.floor(EmployeeNbr);
                    int newPourcent = (int)Math.floor(Pourcent);
     
                    long nelleValEmployeeNbr = new Double(newEmployeeNbr).longValue();
                    long nelleValDecNumber = new Double(newDecNumber).longValue();
                    long nelleValPourcent = new Double(newPourcent).longValue();
     
                    System.out.println("NewValue:" + nelleValEmployeeNbr);
                    String ListeSQL = (rs2.getString(1) + " " +nelleValEmployeeNbr + " " + nelleValDecNumber+ " "+ nelleValPourcent+"\n");
                    jTextArea1.append(ListeSQL);
                    jTextArea1.append(rs2.getString(1));
     
                    System.out.println("panel:" + ListeSQL);
                }
     
                ps.close();
            }catch(SQLException e){
     
                JOptionPane.showMessageDialog(null, e);
            }
     
        }

  2. #2
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    janvier 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : janvier 2008
    Messages : 223
    Points : 171
    Points
    171
    Par défaut
    Impossible de mettre du texte directement dans un JPanel...

    Il faut utiliser un JTextPane.

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    janvier 2004
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2004
    Messages : 419
    Points : 300
    Points
    300
    Par défaut
    Et pourquoi ne pas mettre le résultat du resultset dans une JTable ? La JTable dans un JScrollPane lui-même dans un JPanel ?
    C'est en respectant les autres que l'on se fait respecter.

  4. #4
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    janvier 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : janvier 2008
    Messages : 223
    Points : 171
    Points
    171
    Par défaut
    Perso j'utilise un JDBC Adapter basé sur celui-ci.

    JDBCAdapter_2011.java

    Utilisé comme Model pour ta JTable...et le tour est joué.

    Sun, puis Oracle le fournissait avec le JDK à l'époque...ça fonctionne tjs très bien y compris avec OpenJDK12 et JXTable...j'ai rien trouvé de mieux.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ecolier
    Inscrit en
    février 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ecolier

    Informations forums :
    Inscription : février 2019
    Messages : 15
    Points : 17
    Points
    17
    Par défaut Petit tips ;)
    Google et Youtube sont tes amis, un simple JList database java et tu trouve la réponse en 2 secodes .

    Je vais quand même te donner un élément de réponse.

    Je suppose que tu as déclaré ta variable list juste en haut avec un JList liste = new JList();

    J'utilise 2 fonction pour stocker mes données dans une liste en faisant un

    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
    public void ListeXX(JList<String> liste_test){
    //-> c'est ici que tu va définir tes arguments donc la connection à  ta bdd, et ta requête sql.
    PreparedStatement ps;
    DefaultListModel liste = new DefaultListModel();
    try{
    PreparedStatement = taConnection.preparedStatement("SELECT * FROM `TaTable`");
    ResultSet rs = ps.executeQuery();
    while(rs.next()){
    //Ce que tu veux ajouter exemple String test = rs.getString("TaColonne");
    // ajoute tes éléments dans ta colonne avec un .addElement(test);
    }
    liste.setModel(liste);
    } // Rajjoute un catch exception
     
    }
    Et voilà, tu as les idées principales du code à toi de le modifier comme bon te semble et de rajouter des trucs.
    Oublie pas de faire appel à ta liste dans ton main hein, avec ListeXX(liste);

    Voilà voilà, j'espère que ca t'auras aidé

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    janvier 2004
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2004
    Messages : 419
    Points : 300
    Points
    300
    Par défaut
    Citation Envoyé par HABILER Voir le message
    Bonjour la Communauté,

    J'essaie d'afficher le résultat d'un resultset dans un JPanel mais cela ne fonctionne.
    Dans un textArea cela fonctionne. Mais le probleme c'est que l'on sait écrire dedans.

    Merci pour vos conseils.
    De plus JTextArea n'est pas forcément modifiable par le client.
    setEditable(false) devrait bloquer l'écriture dans le JTextArea après chargement des données.

    Habiler est bien silencieux depuis qu'on lui a apporté moultes réponses.
    C'est en respectant les autres que l'on se fait respecter.

Discussions similaires

  1. Problème d'affichage d'une liste dans firefox !
    Par MarieNum dans le forum Langage
    Réponses: 2
    Dernier message: 05/01/2011, 15h24
  2. Réponses: 2
    Dernier message: 23/05/2010, 12h45
  3. probleme d'affichage d'une liste dans une jsp
    Par the_first_001 dans le forum Struts 1
    Réponses: 5
    Dernier message: 20/04/2009, 14h44
  4. Affichage d'une liste dans une JSP
    Par KristofNancy dans le forum Struts 1
    Réponses: 5
    Dernier message: 23/01/2008, 14h13
  5. affichage d'une liste dans une jtable
    Par argon dans le forum Composants
    Réponses: 25
    Dernier message: 30/08/2006, 09h49

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