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

AWT/Swing Java Discussion :

Colorier cellule du tableau


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut Colorier cellule du tableau
    Bonjour,


    J ai un tableau contenant 50 lignes et 8 colonnes. J aimerai pouvoir changer la couleur des cellules de maniere dynamique en fonction d'un test.

    Si Test Ok -> cellule verte
    Si test NoOk ->Cellule Rouge

    Pour ce faire j ai créé un Renderer pour mon Jtable dont voici le code :

    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
    public class MyTableCellRenderer extends DefaultTableCellRenderer implements TableCellRenderer {
     
    private static final long serialVersionUID = 1L;
    public boolean changeColors = false;
    public CApplication t=null;
     
    public MyTableCellRenderer() {
         super();
         setOpaque(true);
       }
     
       public Component getTableCellRendererComponent(JTable table,
    		   Object value, boolean isSelected,
    		   boolean hasFocus, int row, int column) 
       {
    	    Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
     
    	    	 setBackground(Color.GREEN);
    	      return c;  
       }
     
     }

    Les test sont effectués dans une autre classe : ( CApplication)



    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
    public void detecter_evt(CControle_agent_snmp poste, int row)
    {
    	if(poste.getCourant_sortie()>=90 && poste.getChangeis()==1) // si la charge de l onduleur est superieur a 90%
    	{
     
    		// mettre cellule de la ligne "row" en rouge
    		signaler_defaut(1);
    	}
    	else if( poste.getMode()==true && poste.getChangetat()==1) // si l onduleur passe en mode batterie
    	{
    		signaler_defaut(2);
    	}
    	else if ( poste.getMode()==false && poste.getChangetat()==1) // si l onduleur passe en mode secteur
    	{
    		signaler_defaut(3);
    	}
    	else if (poste.isArretposte()==true && poste.getChangearret()==1) // si l onduleur va arreter le poste
    	{
    		signaler_defaut(4);
    	}
    }
    A partir de là je suis bloqué. Suis-je parti sur la bonne solution? Comment procéder pour la suite?

    Merci de votre aide

  2. #2
    m@t
    m@t est déconnecté
    Membre confirmé
    Inscrit en
    Octobre 2004
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 172
    Par défaut
    Tout est très bien expliqué ici :

    http://java.sun.com/docs/books/tutorial/uiswing/components/table.html


  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut
    J ai deja regarder l'aide mais ca m a pas aider. Car tous est dans une meme classe .

  4. #4
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    salut,

    voici comment je fais cela chez moi , ca fonctione

    mon renderer:
    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
     
    /**
               This renderer renders a color value as a panel with the
               given color.
            */
    	class ColorTableCellRenderer implements TableCellRenderer
    	{  
    	   public Component getTableCellRendererComponent(JTable table,
    	      Object value, boolean isSelected, boolean hasFocus,
    	      int row, int column)
    	   {  
    	      panel.setBackground((Color)value);
    	      return panel;
    	   }
     
    	   // the following panel is returned for all cells, with
    	   // the background color set to the Color value of the cell
     
    	   private JPanel panel = new JPanel();
    	}
    tu associes ta table et le renderer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maTable.setDefaultRenderer(Color.class, new ColorTableCellRenderer());
    apres avoir fais ton test il suffit d'appeler le model associé à ta table et de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    MyModelType model = (MyModelType)maTable.getModel();
     
    if(poste.getCourant_sortie()>=90 && poste.getChangeis()==1) // si la charge de l onduleur est superieur a 90% 
       { 
     
          // mettre cellule de la ligne "row" en rouge 
          //signaler_defaut(1);
         //recuperer les coordonnée de ta cellule
         i = rowIndex; 
         j = columnIndex;
         model.setValueAt(Color.RED,i,j);
     
       } // etc ....

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut
    Merci pour tout j ai hate d'essayer mais il me reste juste un petit problème Eclipse ne me reconnait pas le type MyModelType il vient d'ou??

  6. #6
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    il me reste juste un petit problème Eclipse ne me reconnait pas le type MyModelType il vient d'ou??
    lol

    j'ai mis MyModelType comme exemple , cela n'existe pas il faut que tu le remplaces avec ton propre model ( qui etend AbstractTableModel)

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut
    DefaultTableModel model = (DefaultTableModel)jTable.getModel();

    J ai donc remplacé par mon model
    puis mis : model.setValueAt(Color.red,a,--col);


    Mais cela ne marche toujours pas. Dans le tableau j ai le droit au jolie message "java.awt color red"

  8. #8
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    tu fais bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maTable.setDefaultRenderer(Color.class, new ColorTableCellRenderer());
    a la creation de la table ?

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut
    Oui bien sur

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private JTable getJTable() {
    	if (jTable == null) {
    		jTable = new JTable(50,8);
    		jTable.setSize(new java.awt.Dimension(725,500));
    		jTable.setEnabled(false);
    		jTable.setDefaultRenderer(Color.class, new ColorTableCellRenderer());
    		jTable.setTableHeader(null);	
    	}
    	return jTable;
    }

  10. #10
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    envoie le code ou tu crées ton model, et ou tu appelles le changement de couleur.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut
    Voici le code de la fonction


    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
    public void supervision()
    {
    	int taillesp=listsuperviser.size();
    	int col=0,nberreur=0; String nom=null;
    	DefaultTableModel model = (DefaultTableModel)jTable.getModel(); 
     
    	for(int a=0;a<taillesp;a++) //chargement sur le tableau de la liste des postes supervisés
    	 {
    		 col=0;
    		 element =(CControle_agent_snmp)listsuperviser.get(a); //récuperation d'un objet de la liste situé a i
    		 if(element.lire_etat()!=-1) // mise a jour des informations de l'objet
    		 {
    			 jTable.setValueAt(element.getNom_poste(),a,col++); // Ajout des informations dans le tableau
    			 jTable.setValueAt(Float.toString(element.getTension_entree()),a,col++);
    			 jTable.setValueAt(Float.toString(element.getTension_sortie()),a,col++);
    			 jTable.setValueAt(Float.toString(element.getCourant_sortie()),a,col++);
    			 jTable.setValueAt(new Integer(element.getNiv_batterie()),a,col++);
    			 if(element.getMode()==true)
    				 nom="batterie";
    				 else
    			    nom="Secteur";
     
    			jTable.setValueAt(nom,a,col++);
    		    jTable.setValueAt("Actif",a,col++);
    		    model.setValueAt(Color.red,a,col);  //LA COULEUR
    		    detecter_evt(element); // methode de detection des erreurs     
    		    element=null;          // mise a null de l'élement pour suppresion par le Garbage Collector
    		 }
    		 else 
    		 {	 
    			 col=0;                 // Affichage en cas de postes non joignable
    			 nberreur++;
    			 jTable.setValueAt(element.getNom_poste(),a,col++);
    			 jTable.setValueAt("INCONNU",a,col++);
    			 jTable.setValueAt("INCONNU",a,col++);
    			 jTable.setValueAt("INCONNU",a,col++);
    			 jTable.setValueAt("INCONNU",a,col++);
    			 jTable.setValueAt("Erreur",a,col++);
    			 jTable.setValueAt("INACTIF",a,col++);
    		 }}
    		if(nberreur==taillesp) // arret de la supervision si aucun des postes n'est atteignable
    			{
    				minuteur.stop();  				// arret minuteur
    				MIdesactive.setSelected(true);  
    	}}

  12. #12
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    oui mais la ton model ne te sert a rien car tu remplis tes valeurs directement dans la table (dans l'ordre d'affichage) et non pas dans l'ordre des colonnes de ton model

    et tu utilises le model juste pour la couleur , donc a mon avis tu pousses la couleur pour une cellule qui n'est pas associée a ton renderer.

    il ne suffit pas de faire getModel() , mais plutot l'inverse :

    créer ton model
    ajoute tes données a ton model et pas a la table
    ensuite créer ta table associée a ton model
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    JTable table = new JTable(model);
    ou bien si la table est deja créée
    table.setModel(model)
    jette un oeil au tutorial de sun sur les jtable et model cela devrait t'aider a comprendre comment ca fonctionne
    http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#data

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut
    Le probleme c'est que les données sont dynamique elle change regulierement (Timer )... Je sais pas si un model peut faire ceci?

    J ai un peu de mal a comprendre l aide de sun. Mon model il est dans une classe a part de la couleur ou je peux mettre tout dans une meme et seul classe?

  14. #14
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    le model et l'affichage de la couleur c'est quelque chose de completemenbt separé...

    tu as differents objets bien distinct:


    1. le model (c'est les données) et c'est cela qui doit justement etre mis a jour (régulierement ou pas) et qui va automatiquement informer la table de se rafraichir.
    2. la table (c'est la vue)
    3. ensuite tu peux definir des renderer qui viendront completer l'affichage et c'est le cas pour les cellules qui continnent un objet Color

    essai de trouver un tutoriel en francais si tu as du mal avec l'aide de sun!

  15. #15
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    pour finir je te renvoie vers ce post , lit le dernier message de 'leminipouce' il explique tout tres bien...

    http://www.developpez.net/forums/viewtopic.php?t=483678

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut
    Merci j ai un peu mieux compris le principe. J ai donc créer une classe MyModel qui derive de DefaultTableModel

    Il me reste un probleme enfin je sais pas si ca en ai un :


    Les élement de mon tableau sont placé dans une liste chainées ( linkedlist).
    Pour les ajouter dans mon tableau

    je fait : model.setValueAt("Monobjet", la ligne, la colonne)

    Seulement je ne fait pas ca dans le model de mon tableau mais dans la classe ou est situé le JTable car c est aussi la classe ou est créée la liste chaînée.

    Est-ce que cela est correct?
    Sinon si je dois remplir la jTable dans le classe MyModel il va falloir que je lui passe la liste chainées en parametre lors de sa création?


    Voici le code des 3 parties

    CApplication ( methode qui rempli le tableau )

    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
     
    public void supervision()
    {
    	int taillesp=listsuperviser.size();
    	int col=0,nberreur=0; String nom=null;
     
     
    	for(int a=0;a<taillesp;a++) //chargement sur le tableau de la liste des postes supervisés
    	 {
    		 col=0;
    		 element =(CControle_agent_snmp)listsuperviser.get(a); //récuperation d'un objet de la liste situé a i
    		 if(element.lire_etat()!=-1) // mise a jour des informations de l'objet
    		 {
    			 model.setValueAt(element.getNom_poste(),a,col++); // Ajout des informations dans le tableau
    			 model.setValueAt(Float.toString(element.getTension_entree()),a,col++);
    			 model.setValueAt(Float.toString(element.getTension_sortie()),a,col++);
    			 model.setValueAt(Float.toString(element.getCourant_sortie()),a,col++);
    			 model.setValueAt(new Integer(element.getNiv_batterie()),a,col++);
    			 if(element.getMode()==true)
    				 nom="batterie";
    				 else
    			    nom="Secteur";
     
    			 model.setValueAt(nom,a,col++);
    			 model.setValueAt("Actif",a,col++);
    			 model.setValueAt(Color.red,a,col);
    		    detecter_evt(element); // methode de detection des erreurs     
    		    element=null;          // mise a null de l'élement pour suppresion par le Garbage Collector
    		 }
    		 else 
    		 {	 
    			 col=0;                 // Affichage en cas de postes non joignable
    			 nberreur++;
    			 model.setValueAt(element.getNom_poste(),a,col++);
    			 model.setValueAt("INCONNU",a,col++);
    			 model.setValueAt("INCONNU",a,col++);
    			 model.setValueAt("INCONNU",a,col++);
    			 model.setValueAt("INCONNU",a,col++);
    			 model.setValueAt("Erreur",a,col++);
    			 model.setValueAt("INACTIF",a,col++);
    		 }}
    		if(nberreur==taillesp) // arret de la supervision si aucun des postes n'est atteignable
    			{
    				minuteur.stop();  				// arret minuteur
    				MIdesactive.setSelected(true);  
    	}}

    Le model du tableau


    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
     
    public class MyModel extends DefaultTableModel{
    	   private static final long serialVersionUID = 8083956857937064934L;
     
     
    	    public int getColumnCount() {
    	        return 8;
    	    }
     
     
    	    public int getRowCount() {
    	        return 50;
    	    }
     
    	    public boolean isCellEditable(int row, int column) {
    	        // Aucune cellule éditable
    	        return false;
    	    } 
     
     
    	}

    Et la classe pour la couleur :

    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 ColorTableCellRenderer implements TableCellRenderer
       { 
          public Component getTableCellRendererComponent(JTable table,
             Object value, boolean isSelected, boolean hasFocus,
             int row, int column)
          { 
             panel.setBackground((Color)value);
             return panel;
          }
     
          // the following panel is returned for all cells, with
          // the background color set to the Color value of the cell
     
          private JPanel panel = new JPanel();
       }

    Voici aussi la construction du tableau ( dans CApplication )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    private JTable getJTable() {
    	if (jTable == null) {
    		jTable = new JTable(model);
    		jTable.setModel(model);
    		jTable.setDefaultRenderer(Color.class, new ColorTableCellRenderer()); 
    		jTable.setTableHeader(null);
    		}
    	return jTable;
    }

  17. #17
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    le mieux a mon avis est de faire cela dans la classe de ton model

    tu peux par exemple créer une methode qui accepte 1 parametre qui est ta liste chainée.

    ensuite tu iteres sur ta liste et tu attribues tes valeurs

    je te file le code d'un de mes model, la methode en question c'est setDisplay().

    PS: je passe par un Vector pour stocker mes données mais c'est pas le meilleur objet qui soit...


    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
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
     
    public class GlossaryAllConceptModel extends AbstractTableModel {
     
        public static final int CONCEPT_OBJ_COLUMN = 7;
     
    	protected Vector data;	
    	static final int columnWidths[] = {50, 50, 100, 100,30,50,50};
    	protected JTable table;
     
    	public GlossaryAllConceptModel(JTable table){
    		this.table = table;
    		data = null;
    	}
     
    	public void setDisplay (ArrayList concepts){
     
    		data = new Vector();
    		int i = 0;
    		ArrayList glob = new ArrayList();
     
    		for (Iterator iter = concepts.iterator(); iter.hasNext();) {
     
    		    Value element = (Value) iter.next();
    			Vector row = new Vector();
    			row.add(element.getId());
    			row.add(element.getAbr());
    			row.add(element.getName());
    			row.add(element.getSynonyms());
    			row.add(element.getStatus());
    			if (element.getDateMod()!=null){
    			    row.add(element.getDateMod().toString());
    			} else row.add("");
     
    			row.add(element.getUser());
     
    			row.add(element);
    			glob.add(row);
    			i++;
    		}
     
    		i = 0;
    		for (Iterator iter = glob.iterator(); iter.hasNext();) {
    			Vector element = (Vector) iter.next();
    			data.add(i,element);
    			i++;
     
    		}
     
    		 fireTableRowsInserted(0,getRowCount());
    	}
     
     
     
    	public int[] getColumnWidths()
    	 {
    		 return columnWidths;
    	 }
     
     
    	public String getColumnName(int c)
    	{  
    	   return columnNames[c];
    	}
     
    	public Class getColumnClass(int c)
    	{  
    	   return ((Vector)data.get(0)).get(c).getClass();
    	}
     
    	public int getColumnCount()
    	{  
    	   return columnNames.length;
    	}
     
    	public int getRowCount()
    	{  
    		if(data != null)
    			 return data.size();
    		 else
    			 return 0;
    	}
     
    	public Object getValueAt(int r, int c)
    	{  
    	   return ((Vector)data.get(r)).get(c);
    	}
     
    	public void setValueAt(Object obj, int r, int c)
    	{  
    		Vector row = (Vector) data.get(r);
    		row.setElementAt(obj,c);
    		data.setElementAt(row, r);
    		fireTableCellUpdated(r, c);
    	}
     
    	private String[] columnNames =
    	{  
    	 	   "Identifier","Short name", "Name", "Synonyms","Status","Last update","By"
    	};
     
    	public boolean isCellEditable(int r, int c)
    	{  
    	   return false;
    	}
     
    	public boolean hasFixedWidth(String columnName)
    	 {
    		 return true;
    	 }
     
    	public void fireTableStructureChanged()
    	{
    		super.fireTableStructureChanged();
    		if(table != null)
    			customizeTable();
    	}
     
    	public void customizeTable()
    	{
    		int count = 0;
    		int columnWidth[] = getColumnWidths();
    		for(Enumeration e = table.getColumnModel().getColumns(); e.hasMoreElements();)
    		{
    			TableColumn tc = (TableColumn)e.nextElement();
    			tc.setPreferredWidth(columnWidth[count]);
    			if(hasFixedWidth((String)tc.getIdentifier()))
    			{
    				tc.setMaxWidth(columnWidth[count]);
    				tc.setMinWidth(columnWidth[count]);
    			}
    			count++;
    		}
     
    	}
     
    	  public Vector getData() {
    	        return data;
    	    }
     
     
    }

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut
    Je te remerci pour ton aide, mais je crois que je vai abandonner car je voie pas du tout comment coder ce que je veux faire

    Merci pour tout

  19. #19
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    mais non ce n'est pas compliqué.
    tu es a un poil de ce que tu veux faire!

    je pense que le code que tu m'as montré fonctionne non ?

    pour integrer les données dans la classe model tu as juste +/- a mettre ta methode supervision() a la place de ma metode setDisplay()...

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 23
    Par défaut
    C est ce que j ai fait mais ca change pas mal de chose sur le reste de l application, et je n ai plus beaucoup de temps devant moi pour finir toutes l application malheuresement. Surtout que je comprend pas quel difference cela va faire d'ajouter ca dans la classe Model du tableau car dans tous les cas j ajoute au model et pas a la jtable

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Colorier Cellule / ligne sélectionnée dans JTable
    Par Sebou77 dans le forum Composants
    Réponses: 7
    Dernier message: 06/09/2006, 13h04
  2. faire disparaitre les contours d'une cellule de tableau
    Par moonia dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 06/04/2006, 13h27
  3. Réponses: 2
    Dernier message: 12/01/2006, 02h11
  4. Faire défiler un texte dans une cellule de tableau
    Par Furius dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 01/12/2005, 18h06
  5. [HTML] largeur mini d'une cellule de tableau
    Par khayyam90 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 02/02/2005, 00h28

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