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 :

ImageIcon redimensionnée dans une JTable


Sujet :

Composants Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 34
    Points
    34
    Par défaut ImageIcon redimensionnée dans une JTable
    Bonjour,
    j'ai un petit problème avec des images que je met dans une JTable.
    Ces images sont redimensionnées pour qu'elles aient la même taille, et j'y ajoute un MouseListener pour qu'elles soient clicables.
    Or selon les images l'action n'est pas realisée
    A noter que mon application est une Applet.

    voila un peu de code, si quelqu'un pouvait me dire d'où cela peut venir :

    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
     
    /*Ma class editor */
    public class ImageTableCellEditor extends DefaultCellEditor {
     
        protected JLabel label;
        protected ImageIcon image;
     
        public ImageTableCellEditor(JCheckBox checkBox) {
            super(checkBox);
     
    // ici je redefinit la methode paint et je redimensionne mon image
            label = new JLabel(){
                public void paint(Graphics arg0) {
     
     
                    Graphics2D g2d = (Graphics2D)arg0;
                    g2d.drawImage(image.getImage(),20,0,35,35,this);
                    g2d.dispose();
     
                }
            };
            //ajout du listener
            label.addMouseListener(new MouseListener() {
                public void mouseClicked(MouseEvent e) {
                    fireEditingStopped();
                }
                public void mouseEntered(MouseEvent e) {
                    label.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR) );
                }
                public void mouseExited(MouseEvent e) {
                    label.setCursor(Cursor.getDefaultCursor() );
                }
                public void mousePressed(MouseEvent e) {}
                public void mouseReleased(MouseEvent e) {}
            });
     
        }
     
        public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
            image = (ImageIcon)value;
            label.setIcon(image);
            isPushed = true;
     
            return label;
        }
     
     
        public Object getCellEditorValue() {
            if (isPushed)  {
                if(value.toString() != null && !value.toString().equals("") )
                    System.out.println("Mon action ici ");
            }
            isPushed = false;
     
            return (ImageIcon)label.getIcon();
        }
        public boolean stopCellEditing() {
            isPushed = false;
            return super.stopCellEditing();
        }
     
     
        protected void fireEditingStopped() {
            super.fireEditingStopped();
        }
     
    }
     
    /* Ma classe renderer */
    public class ImageTableCellRenderer extends JLabel implements TableCellRenderer {
     
        protected ImageIcon image;
     
        public ImageTableCellRenderer() {
            super();
        }
     
        public void paint(Graphics arg0) {
     
     
            Graphics2D g2d = (Graphics2D)arg0;
            g2d.drawImage(image.getImage(),20,0,35,35,this);
            g2d.dispose();
     
        }
     
        public Component getTableCellRendererComponent(JTable table, Object i, boolean isSelected, boolean hasFocus, int row, int column) {
     
            image = (ImageIcon)i;
            setIcon( image );
     
            addMouseListener(new MouseListener() {
     
                public void mouseClicked(MouseEvent e) {}
                public void mouseEntered(MouseEvent e) {
                    setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR) );
                }
                public void mouseExited(MouseEvent e) {
                    setCursor(Cursor.getDefaultCursor() );
                }
                public void mousePressed(MouseEvent e) {}
                public void mouseReleased(MouseEvent e) {}
            });
     
            return this;
        }
     
    }

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 34
    Points
    34
    Par défaut
    personne ?

Discussions similaires

  1. Epaissir une ligne dans dans une JTable
    Par daninho dans le forum Composants
    Réponses: 9
    Dernier message: 26/01/2006, 14h43
  2. Insérer un vector dans une jTable...
    Par Empty_body dans le forum Composants
    Réponses: 3
    Dernier message: 14/12/2005, 17h35
  3. [Jtable] problème de suppression dans une Jtable
    Par gianni17 dans le forum Composants
    Réponses: 1
    Dernier message: 02/12/2005, 18h36
  4. Insertion des boutons et des images dans une JTable
    Par anouar dans le forum Composants
    Réponses: 2
    Dernier message: 17/11/2005, 20h23
  5. [JTable] couleur de sélection dans une JTable
    Par spoutyoyo dans le forum Composants
    Réponses: 7
    Dernier message: 06/12/2004, 11h43

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