image dans jtable

image dans jtable - Java - Programmation

Marsh Posté le 02-06-2005 à 14:57:54    

bonjour a tous,
   
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    [:aurel74]  

Reply

Marsh Posté le 02-06-2005 à 14:57:54   

Reply

Marsh Posté le 02-06-2005 à 16:42:06    

TableCellRenderer


Message édité par the real moins moins le 02-06-2005 à 16:42:40

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

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;
        }
         
    }

Reply

Marsh Posté le 03-06-2005 à 10:34:55    

alors personne ne ve m aider

Reply

Marsh Posté le 03-06-2005 à 11:49:47    

if(value.getClass().toString().startsWith("class javax.swing.ImageIcon" ) ){  
 
y'a une erreur.


---------------
trainoo.com, c'est fini
Reply

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

Reply

Marsh Posté le 03-06-2005 à 13:55:57    

if (value instanceof ImageIcon) ...
 


---------------
trainoo.com, c'est fini
Reply

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

Reply

Marsh Posté le 03-06-2005 à 14:34:11    

c'est un bon début ce que tu as fait (le new JLabel).


---------------
trainoo.com, c'est fini
Reply

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

Reply

Marsh Posté le 03-06-2005 à 15:03:41   

Reply

Marsh Posté le 03-06-2005 à 15:05:35    

returns this ?? c'est supposé faire quoi ça d'apres ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

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.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 03-06-2005 à 15:10:48    

stoukou a écrit :

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


Code :
  1. public Component getTableCellRendererComponent(JTable table, Object value,
  2.             boolean isSelected, boolean hasFocus, int row, int column) {
  3.         JLabel res = (JLabel)super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);   
  4.        
  5.         if (value instanceof ImageIcon) {
  6.            ImageIcon imge = (ImageIcon)value;       
  7.            res.setText(null);
  8.            res.setIcon(imge ); 
  9.            return res;
  10.         }else{           
  11.             return res;
  12.         }       
  13.     }


Message édité par nraynaud le 03-06-2005 à 15:13:07

---------------
trainoo.com, c'est fini
Reply

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed