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

Interfaces Graphiques en Java Discussion :

récupération de la valeur d'une cellule editer


Sujet :

Interfaces Graphiques en Java

  1. #1
    Expert confirmé
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Points : 4 883
    Points
    4 883
    Par défaut récupération de la valeur d'une cellule editer
    Bonjour,

    voilà j'ai un gros soucis depuis plusieurs semaine qui est la recuperation de la valeur des cellules une fois editer.

    Mes cellules prennent les valeurs d'un fichier texte et est reactualise via un thread. Le thread j'arrive a le bloque mais se que je n'arrive pas a faire c'est une fois que j'ai mis les cellules editable je n'arrive pas a saisir les donnees des cellules je possede que celle qui sont dans le fichier texte soit la valeur d'origine.

    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
     
    package appli.Interfaces.Historique;
     
     
    import appli.Systeme.Flux;
    import javax.swing.*;
    import java.awt.Color;
     
    La table :
     
    public class Historique extends JPanel
    {
    	public Historique()
    	{	
    		table=new JTable();
    		des = new Flux();
    		model=new DataFileTableModel(des.NomFichier());
    		table.setModel(model);
     
    		table.createDefaultColumnsFromModel();
    		JScrollPane scrollPane = new JScrollPane(table);
    		this.add(scrollPane);
    		this.setBackground(Color.yellow);
    		 for (int i=0;i<vsize.length;i++)
    	      {
    	          table.getColumnModel().getColumn(i).setPreferredWidth(vsize[i]);
    	      }
    	}
     
     
    	private int [] vsize = {40,40,50,30,150,80,40};
    	public JTable table;
    	private DataFileTableModel model;
    	private Flux des;
     
    	private static final long serialVersionUID=42L;	//sérialisation
    }
    Le modèle :

    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
     
    package appli.Interfaces.Historique;
     
    import java.util.Vector;
    import java.io.*;
    import java.util.*;
    import javax.swing.table.AbstractTableModel;
     
     
     
     
    public class DataFileTableModel extends AbstractTableModel
    {
    	private static final long serialVersionUID=42L;
     
    	static protected Vector <String> data;	//données
    	//static protected Vector<String>data=new Vector<String>();
    	static protected Vector columnNames;	//noms de colonnes
    	static protected String datafile;	//nom du fichier de données
    	public boolean finScrutation=false;
     
    	public DataFileTableModel(String f)
    	{
    		datafile=f;
    		initVectors();	
    		Thread thMAJ = new Thread()
    		{
    			public void run()
    			{
    				MAJ();
    			}
    		};
    		thMAJ.start();
     
    	}
     
    	public static void initVectors()
    	{
    		String aligne;
    		data=new Vector<String>();
     
    	//	columnNames=new Vector();
    		try
    		{
    			FileInputStream fin = new FileInputStream(datafile);
    			BufferedReader br = new BufferedReader(new InputStreamReader(fin));
    			while((aligne=br.readLine())!=null)
    			{
    				StringTokenizer st2 = new StringTokenizer(aligne,";");
    				while(st2.hasMoreTokens()) data.addElement(st2.nextToken());
    			}
    			br.close();
    			fin.close();
    		}
    		catch(Exception e){ e.printStackTrace();}
    	}
     
    	public int getColumnCount()
    	{
    		String[] columnNames= {"Arrivée","Appel","Camions","Quais","Observations","Déchargement","Priorité"};
    		return columnNames.length;
    	}
     
    	public int getRowCount()
    	{	
    		return data.size()/getColumnCount();
    	}
     
    	public String getColumnName(int columnIndex)
    	{
    		String[] columnNames= {"Arrivée","Appel","Camions","Quais","Observations","Déchargement","Priorité"};
            return columnNames[columnIndex];
    	}
     
    	public boolean isCellEditable(int rowIndex,int columnIndex)
    	{
    		return false;
    	}
     
    	public Object getValueAt(int rowIndex,int columnIndex)
    	{	
     
    		return (String)data.elementAt((rowIndex*getColumnCount())+columnIndex);
    	}
     
    	public void MAJ()
    	{
    		while(!finScrutation)
    		{
    			try
    			{
    				fireTableDataChanged();
    				Thread.sleep(1000);
    			}catch(Exception e)
    			{
    				System.exit(1);
    			}		
    		}
    	}
     
    	/*
    	 * Specification de la reaction lors de modification du contenu des cellules 
    	 * effectues par l'utilisateur  
    	 */
    	public void setValueAt(Object aValue,int rowIndex,int columnIndex)
    	{
     
    	}
     
    }
    Comment pourrais je faire ???

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est tout simple, redéfinir correctement la méthode setValueAt dans ton Model...


    ...

  3. #3
    Expert confirmé
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Points : 4 883
    Points
    4 883
    Par défaut
    Salut Sinok,

    pourrais tu m'en dire plus ?
    que puis je faire via quelle fonction ?

    Merci d'avance

  4. #4
    Expert confirmé
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Points : 4 883
    Points
    4 883
    Par défaut
    Oui le aValue dans le premier parametre de setValueAt correspond a la valeur modifie dans la cellule merci Sinok

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

Discussions similaires

  1. [XL-2007] Récupération dynamique de valeur d'une cellule
    Par berceker united dans le forum Excel
    Réponses: 2
    Dernier message: 27/04/2012, 12h05
  2. [XL-2003] Récupération de la valeur d'une cellule fusionnée en colonne
    Par liliesma dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/01/2012, 16h29
  3. Réponses: 9
    Dernier message: 04/11/2009, 15h54
  4. Récupération de la valeur d'une cellule
    Par julieng31 dans le forum Excel
    Réponses: 2
    Dernier message: 03/08/2009, 15h16
  5. récupération de la valeur d'une cellule en VBA
    Par jffaber dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/05/2008, 10h19

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