image dans jtable - Java - Programmation
Marsh Posté le 02-06-2005 à 16:42:06
TableCellRenderer
Marsh Posté le 02-06-2005 à 17:00:44
g essayé avec ça et toujours g le nom de la classe qui s'affiche dans la cellule 
 
public Component getTableCellRendererComponent(JTable table, Object value, 
            boolean isSelected, boolean hasFocus, int row, int column) { 
        super.getTableCellRendererComponent(table, value, isSelected, hasFocus, 
                row, column); 
        JLabel res=null; 
        
        if(value.getClass().toString().startsWith("class javax.swing.ImageIcon" ) ){ 
            
           res = new JLabel((ImageIcon)value);            
           return res; 
        }else{ 
            System.out.println("true" );  
            return this; 
        } 
         
    } 
Marsh Posté le 03-06-2005 à 11:49:47
if(value.getClass().toString().startsWith("class javax.swing.ImageIcon" ) ){  
 
y'a une erreur. 
Marsh Posté le 03-06-2005 à 11:58:06
g changer avec ça  
  
if(value.getClass().toString().equalsIgnoreCase("class javax.swing.ImageIcon" ) ) 
 
mais le pbl n est pas la il est dans le code au dessus si t a une idée elle sera le bien venue  
 
merci 
Marsh Posté le 03-06-2005 à 13:55:57
if (value instanceof ImageIcon) ... 
 
Marsh Posté le 03-06-2005 à 14:26:14
oui et apres qu est ce que je dois mettre pour que la cellule peut contenir et afficher une imageicon
Marsh Posté le 03-06-2005 à 14:34:11
c'est un bon début ce que tu as fait (le new JLabel).
Marsh Posté le 03-06-2005 à 15:03:41
voila g ça comme code regarde c quoi qui colle pas  
 
  public Component getTableCellRendererComponent(JTable table, Object value, 
            boolean isSelected, boolean hasFocus, int row, int column) { 
        super.getTableCellRendererComponent(table, value, isSelected, hasFocus, 
                row, column); 
        JLabel res=null;      
         
        if (value instanceof ImageIcon) { 
           ImageIcon imge = (ImageIcon)value;         
           res = new JLabel(imge);            
           res.setVisible(true); 
           System.out.println(value instanceof ImageIcon); 
           return res; 
        }else{             
            return this; 
        }         
    } 
 
et mille merci d avance encore une fois
Marsh Posté le 03-06-2005 à 15:05:35
returns this ?? c'est supposé faire quoi ça d'apres ?
Marsh Posté le 03-06-2005 à 15:08:19
| the real moins moins a écrit : returns this ?? c'est supposé faire quoi ça d'apres ? | 
 
fais gaffe le renderer par défaut est une sous-classe de JLabel. 
 
par contre, il le renvoie en version pas configurée pour être peint.
Marsh Posté le 03-06-2005 à 15:10:48
| stoukou a écrit : voila g ça comme code regarde c quoi qui colle pas   | 
 
| Code : 
 | 
Marsh Posté le 03-06-2005 à 15:15:13
toujours rien 
 
dans la jtable g les cellules de la colomn picture qui sont vide et quand je clique 2 fois dessus g ça qui s affiche dans la cellule 
javax.swing.ImageIcon@e61fd1
Marsh Posté le 02-06-2005 à 14:57:54
bonjour a tous,
![[:aurel74] [:aurel74]](https://forum-images.hardware.fr/images/perso/aurel74.gif) 
  
voila g un probleme avec l affichage d'une image dans jtable
les images sont stockées sous forme de blob dans une bdd
et g le code suivant qui ne marche pas
mTable.setValueAt(String.valueOf(h.getId()), i, 0);
mTable.setValueAt(h.getNom(), i, 1);
java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
Image img = toolkit.createImage( h.getPic().getBytes(1,(int) h.getPic().length()));
!!!!!!!!!!!!!!! le probleme est la !!!!!!!!!!!!!!!!!!
mTable.setValueAt( new ImageIcon(img) , i, 2);
alors please