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 :

JScroll avec une classe étendant une JTable [Débutant(e)]


Sujet :

Composants Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2012
    Messages : 11
    Points : 13
    Points
    13
    Par défaut JScroll avec une classe étendant une JTable
    Bonjour, je débute en java. Voici mon problème : dans un fichier j'ai deux classes
    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
     
    class TOTO extends JTable{
            MonModel Tableau;
    ....
    }
     
    class MonModel extends AbstractTableModel {
    	private List<YOYO> MaListe = new ArrayList<YOYO>();
     
    	MonModel(){ ..... }
     
    	public int getRowCount(){ ..... }
    	public int getColumnCount(){ ..... }
    	public Object getValueAt(int row, int column){ .... }
    	public String MaMethode(){ return getValueAt(0,0);}
    }
    les données numeriques sont entrées dans le tableau via le constructor MonModel()

    maintenant j'ai un autre fichier avec une classe qui me sert à afficher ce tableau,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class TEST {
     
    	TOTO toto;
    	JScrollPane tableScroll;
     
    	TEST(){
    		toto = new TOTO();
    		tableScroll = new JScrollPane(toto);
    		add(tableScroll);
    		....
    	}
    }
    mon problème est que ça ne m'affiche rien... avant à la place du type TOTO dans cette classe j'avais un JTable et à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    toto = new TOTO();
    tableScroll = new JScrollPane(toto);
    j'avais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    toto = new Jtable(new TOTO());
    tableScroll = new JScrollPane(toto.Tableau);
    là ça m'affichait mon tableau.Par contre je ne reussisais pas à récupérer la valeur d'une cellule avec la méthode getValueAt car elle me retourne des object alors que dans mon tableau j'ai des strings (oué des petites culotte )
    J'ai donc cherché à implanter une méthode qui me retourne une string MaMethode, mais quand toto est de type JTable, ça n'est pas possible de l'atteindre, en type TOTO ça marche...

    donc je sais pas ce qui dans ma syntax ne va pas... je cherche depuis plusieurs heures maintenant...

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2012
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    bon je viens de trouver... en fait dans le constructor de TOTO il fallait que j'ajoute la commande new *tablemodel* en paramètre de la fonction super()...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    class TOTO extends JTable{
            MonModel Tableau;
            public TOTO(){ super(...); }
    }
    je sais pas trop bien à quoi sert cette fonction super soit dit en passant... je l'ai effectivement à plusieurs endroit dans mon code car je la vois écrite dans des exemples similaires... je laisse le sujet encore ouver pendant 24 H. Si l'un ou l'une a envie de faire un commentaire, ou de m'expliquer un truc... genre à quoi sert la fonction super() etc. il/elle est le bienvenue!

    EDIT :: enfait j'ai quand même tjrs un souci... dans ma classe qui "extends AbstractTableModel" donc la classe "MonModel" je n'arrive pas à ajouter de méthode car quand je compile, là où je tente de l’appeler j'ai un message d'erreur qui me dit qu'il ne la trouve pas... hors mon problème avec getValueAt est tjrs le me vu qu'elle me retourne des type Objects je peux pas afficher les strings que contient mon tableau... je tourne en rond... ça m'énerve

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2010
    Messages : 270
    Points : 391
    Points
    391
    Par défaut
    Je ne sais pas si je vais dire des bétises mais moi j'ai toujours entendu que super() sert à appeler le constructeur d'une classe parente.
    On utilise lorsque que l'on déclare une classe étendant une autre classe, et que celle-ci ne possède pas de constructeur avec exactement les mêmes arguments.

    Si quelqu'un peut confirmer ou corriger ceci, cela m'arrangerait aussi

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2012
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    mon problème n'est toujours pas résolu, et je n'ai actuellement pas moyen de faire quoi que ce soit, mon écran est mort

  5. #5
    Membre éprouvé Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Points : 934
    Points
    934
    Par défaut
    mon problème avec getValueAt est tjrs le me vu qu'elle me retourne des type Objects je peux pas afficher les strings que contient mon tableau
    comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jXTable3.getValueAt(row, col).toString()
    on devrait recevoir le string contenu dans l'objet.
    oui ?

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/03/2010, 10h13
  2. Réponses: 9
    Dernier message: 09/12/2008, 00h07
  3. Eval d'une propriété d'une classe dans une classe
    Par bizet dans le forum ASP.NET
    Réponses: 4
    Dernier message: 28/10/2008, 09h43
  4. Réponses: 2
    Dernier message: 31/08/2005, 16h12
  5. Réponses: 4
    Dernier message: 17/03/2004, 17h24

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