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

Langage Java Discussion :

package et interface


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut package et interface
    J'ai un package A, et j'aimerais dans ce package implémenter une interface de l'API standard: TableCellRenderer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    package A
     
    public class TableModel implements TableCellRenderer{
    ...
    le code
    ...
    }
    Quand je fais ça le compilo me renvoie une erreur en me disant que ma classe doit être abstraite.
    Alors que si j'enlève package A, plus d'erreur tout roule.

    Donc ma question: avec deux package A et B comment à partir d'une classe du package B implémenter une interface du package A ?

  2. #2
    Membre expérimenté Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Par défaut
    Slt,

    Justement pour implementer la classe d'un autre package il faut importer le package dans lekel est declare ta classe. Donc je ne pense pas que l'erreur vienne de ton inportation. Tu peux afficher le message d'erreur stp.

  3. #3
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut
    Je réalise bien l'import en faisant
    import javax.swing.table.*;

    puisque je veux implémenter TableCellRenderer

    L'erreur:
    class not abstract and does not override abstract method getTableCellRendererComponent(....).


    La méthode getTableCellRendererComponent est la seule méthode à implémenter...

  4. #4
    Membre expérimenté Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Par défaut
    et tu l'as implémentée, cette fameuse méthode ?

  5. #5
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut
    Oui, je l'ai implémenté

    Je n'ai pas regardé le source de cette interface mais à mon avis il est possible qu'elle ne soit pas déclarée public et donc par défaut elle est protected donc impossible de l'implémenter à partir d'un autre package....

  6. #6
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut
    Eh si elle est bien public, alors là un truc m'échappe

    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
     
    public interface TableCellRenderer {
     
        /**
         *  Returns the component used for drawing the cell.  This method is
         *  used to configure the renderer appropriately before drawing.
         *
         * @param   table           the <code>JTable</code> that is asking the
         *                          renderer to draw; can be <code>null</code>
         * @param   value           the value of the cell to be rendered.  It is
         *                          up to the specific renderer to interpret
         *                          and draw the value.  For example, if
         *                          <code>value</code>
         *                          is the string "true", it could be rendered as a
         *                          string or it could be rendered as a check
         *                          box that is checked.  <code>null</code> is a
         *                          valid value
         * @param   isSelected      true if the cell is to be rendered with the
         *                          selection highlighted; otherwise false
         * @param   hasFocus        if true, render cell appropriately.  For
         *                          example, put a special border on the cell, if
         *                          the cell can be edited, render in the color used
         *                          to indicate editing
         * @param   row             the row index of the cell being drawn.  When
         *                          drawing the header, the value of
         *                          <code>row</code> is -1
         * @param   column          the column index of the cell being drawn
         */
        Component getTableCellRendererComponent(JTable table, Object value,
    					    boolean isSelected, boolean hasFocus,
    					    int row, int column);
    }
    Y-a-t-il une ame capabla de me donner une réponse pour implémenter cette classe à partir d'un autre package ?

  7. #7
    Membre expérimenté Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Par défaut
    non, je viens de regarder dans la doc
    Javadoc a dit :
    public interface TableCellRenderer

    This interface defines the method required by any object that would like to be a renderer for cells in a JTable.

    Method Summary
    Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
    Returns the component used for drawing the cell.


    Method Detail
    getTableCellRendererComponent

    Component getTableCellRendererComponent(JTable table,
    Object value,
    boolean isSelected,
    boolean hasFocus,
    int row,
    int column)
    [Edit : grilled as the pingouin survoling a volcan]

  8. #8
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par c-top
    Je n'ai pas regardé le source de cette interface mais à mon avis il est possible qu'elle ne soit pas déclarée public et donc par défaut elle est protected donc impossible de l'implémenter à partir d'un autre package....
    Une classe/interface ne peut pas être protected (mis à part pour les classes internes) : cela n'aurait aucun sens. Au pire elle est "package-view" mais dans ce cas elle ne serait pas dans l'API et tu n'aurais pas cette erreur...

    Donc : montre ton code ! Tu dois surement ne pas implémenter la bonne méthode...

    a++

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/08/2014, 19h33
  2. Séparation des packages: où mettre les interfaces ?
    Par Antoine_935 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 01/06/2009, 23h22
  3. Package et interface graphique
    Par maryo dans le forum R
    Réponses: 1
    Dernier message: 25/03/2008, 10h07
  4. [package][swing] Interface graphique
    Par _KB_ dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 06/04/2006, 19h38
  5. Interface idl et package java
    Par canou94 dans le forum CORBA
    Réponses: 2
    Dernier message: 09/11/2005, 09h32

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