Je cherche depuis longtemps un exemple de mapping JTable <-> fichier.xml
avec mise-à-jour du fichier.xml après édition de la JTable.
Rien trouvé(
J'ai trouvé cette exemple
http://www.airfirst.ch/b2/JTable-Xml.zip
qui affiche dans un JTable les données d'un fichier .CSV. Lorsque au moins une cellule est double-cliquée (même sans modifier son contenu), le programme met-à-jour data.csv
Dans l'exemple du fichier de données datas.csv j'ai ajouté une colonne nommée "CaseàCocher", c'est mon nouveau fichier datas_avec_boolean.csv
1. Comment afficher la colonne CaseàCocher avec des cases à cocher?
2. Comment rendre une colonne non modifiable? (j'ai trouvé
3. Comment afficher les colonnes de largeur proportionnelle à leur contenu le plus large (valeur ou nom de colonne)? Comme le serait les colonnes d'un tableau HTML: <table width="100%" > ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public boolean isCellEditable(int rowIndex, int columnIndex) { if (1<columnIndex) {//coll.éditable dès la 3ème return true; } else { return false; } }
4. De quelle façon judicieuse puis-je modifier les classes DataFileTable.java, DataFileTableModel.java
pour obtenir le même outil fonctionnant avec ce fichier.xml (ci-dessous) ?
- Quelle(s) classe(s) modifier ?
- Quelles méthodes modifier/supprimer/ajouter ?
5.a)
Pour le passage XML -> JTable:
- Faut-il obligatoirement passer par des objects (en utilisant pas ex. http://xstream.codehaus.org )?
C'est-à-dire: XML -> objet -> JTable
5.b) Pour le passage JTable -> XML:
- Est-ce suffisant cette boucle ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 String xml = ""; for(int i = 0; i < jt.getRowCount(); i++) { xml+= "<row number = '" + i + "'>\n"; for(int j = 0; j < jt.getColCount(); j++) { xml+= " <col number = '" + j + "'>" + jt.getValueAt(i,j) + "</col>"; } xml += "</row> } //Then save xml to file.
http://forum.java.sun.com/thread.jsp...sageID=3421374
6. Quel type (il y en a plusieurs en Java) permettant de stocker une date et une heure me conseillez-vous d'utiliser?
fichier.xml
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 <?xml version="1.0" encoding="UTF-8"?> <!-- Seuls les éléments "name" et "saveit" sont éditables dans la JTable - name est un champs de saisie (string). - saveit est une case à cocher (boolean). --> <list> <stick> <name>USB Stick 512 Mo</name><!-- chaine --> <saveit>1</saveit><!-- boolean --> <id>F5B0-1A6D</id><!-- chaine --> <plugedin>0</plugedin><!-- boolean --> <creation>20070610 0845</creation><!-- date et heure --> <lastBU>20070629 1252</lastBU><!-- date et heure --> </stick> <stick> <name>Clé USB 2 GB</name> <saveit>1</saveit> <id>B0F5-6F1A</id> <plugedin>0</plugedin> <creation>20070611 1852</creation> <lastBU>20070630 2130</lastBU> </stick> </list>
Merci bien.
Pratique:
toute la Javadoc en 1 seul fichier .CHM
http://www.allimant.org/javadoc/index.php
Partager