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 :

comment formater un champs dans un tableau


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 12
    Par défaut comment formater un champs dans un tableau
    bonjour
    j'ai un grand probleme au niveau de la programmation avec les swing, et surtout avec les tableaux, mon probleme pour le moment est que je n'arrive pas á formater les champs ds un tableau, je m'explique: dans mon interface graphique j'ai un tableau et des zones de texte (que je peux gerer), mon but est de n'accepter que les nombre reel avec virgule (je ne dois pas accepter le point), sinon on affiche que la partie entiere, ca j'arrive á le faire avec la syntaxe suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    JFormattedTextField TField;
    private NumberFormat numberFieldsFormat;
    TField  = new JFormattedTextField(numberFieldsFormat);
            value = currentLocal.getTambiante();
            TField.setValue(new Double(value));
    ma question est comment on peut faire la meme chose avec un tableau.
    pour le moment je cree le tableau de la facon suivante:
    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
    final boolean[] editable = { false, true, true, true, true, true, true }; 
     
    			Vector titre = new Vector();
    			titre.add("");
    			titre.add("O1");
    			titre.add("O 2");
    			titre.add("O 3");
     
    			Vector dataVector = new Vector();
    			Vector rowVector;
     
    			for (int i=0; i<3; i++) {
    				rowVector = new Vector();
    				if(i==0) {
    					rowVector.add(new String("S o  (m²)"));
    				}
    				else if(i==1) {
    					rowVector.add(new String("C s  (m)"));
    				}
    				else if(i==2) {
    					rowVector.add(new String("C i  (m)"));
    				}
     
    				for ( int j=0; j<3; j++) {	
    					rowVector.add(new Float(oo.getOuverture(j).getSurfaceOuverture()));
    				}
    si vous savez comment faire n'hesitez pas svp, ca fait une journee que je bloque sur ca.
    merci

  2. #2
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Bonjour,

    si je comprends bien, ta JTable contient des Float, et tu aimerais les afficher avec un nombre précis de décimales après la virgule ?

    Dans ce cas, il faut changer le TableCellRenderer par défaut pour la classe Float (ou Number à toi de voir) :
    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
    public class FloatCellRenderer extends DefaultTableCellRenderer {
     
      public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        JLabel l = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
        String text = l.getText();
        // c'est peut-être inutile : on remplace le point par une virgule
        text.replace('.', ',');
        // on garde 2 décimales après la virgule
        int index = text.indexOf(',');
        if(index != -1 && index + 2 < text.length()) {
          text = text.substring(0, index + 2);
          l.setText(text);
        }
      }
    }
     
    // ailleurs
    maJTable.setDefaultRenderer(Float.getClass(), new FloatCellRenderer());
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

Discussions similaires

  1. [MySQL] Comment affiché un résultat avec plusieurs lignes et plusieurs champs dans un tableau
    Par Yagami_Raito dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 15/05/2007, 14h19
  2. comment formater un champs dans table mysql
    Par rollly dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 24/04/2006, 14h31
  3. COMMENT METTRE 2 CHAMPS DANS LE MEME DBLOOKUPCOMBOBOX
    Par ledevelopeur dans le forum Bases de données
    Réponses: 2
    Dernier message: 27/07/2004, 15h15
  4. [CR] Comment trouver un champs dans un report ??
    Par Madduck dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 18/09/2003, 08h31
  5. [langage] Comment rajouter des champs dans une liste
    Par toto_titi dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2003, 14h09

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