Tabulation dans une JList

dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012 - 18 mars 2006 à 15:03
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012 - 20 mai 2007 à 15:42
bonjour,

je n'arrive pas a affichier de tabulation dans ma JList ! Quand "qqch\tqqch"ça m'affiche : "qqchqqch"...

quelqu'un saurait-il pourquoi ??

merci d'avance

10 réponses

sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
18 mars 2006 à 17:17
morceaux de code ?

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
18 mars 2006 à 17:29
la JList est composée de LigneResultat :

class LigneResultat
{
public String nom_fichier;
public int nb_sources;
public String hash_code;


public LigneResultat(String _nom_fichier, int _nb_sources, String _hash_code)
{
nom_fichier = _nom_fichier;
nb_sources = _nb_sources;
hash_code = _hash_code;
}// LigneResultat


public String toString()
{
return ( nom_fichier+"\t\t"+nb_sources );
}
}// LigneResultat

declaration de ma JList :

private DefaultListModel listeModel = new DefaultListModel();
private JList listeResultats = new JList(listeModel);

fenêtre dans laquelle se trouve la JList :

public void fenetreRecherche() throws IOException
{
JFrame fenRech = new JFrame("Rechercher");
fenRech.setSize(350,500);


Container pane = fenRech.getContentPane();


motif = new JTextField("",10);


JPanel panel_rech = new JPanel();
panel_rech.add(etiq_rech);
panel_rech.add(motif);
panel_rech.add(bouton_rechercher);


JPanel panel_resultat = new JPanel();
panel_resultat.add(etiq_nb_resultats);
panel_resultat.add(bouton_telecharger);

pane.add(panel_rech,BorderLayout.NORTH);
pane.add( listeResultats ,BorderLayout.CENTER);
pane.add(panel_resultat,BorderLayout.SOUTH);


bouton_rechercher.addActionListener(this);
bouton_telecharger.addActionListener(this);


fenRech.setContentPane(pane);
fenRech.setVisible(true);
}// fenetreConfig

remplissage de la JList :


for(int i =0; i<nb_resultats; i++)
{
String nom_fichier = infos.readLine();
int nb_sources = Integer.parseInt(infos.readLine());
String hash_code = infos.readLine();
LigneResultat resultat = new LigneResultat(nom_fichier, nb_sources, hash_code);
resultats.add(resultat); // resultats est un Vector
}

listeResultats.setListData(resultats);

voila le code
merci
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
18 mars 2006 à 17:34
ouais je viens de voir que ca ne marche pas dans mes programme non plus mais en console ca sort correctement

je n'ai pas d'idee mais si je trouve qqchose ...

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
18 mars 2006 à 17:37
arf ok... merci
je vais essayer de mettre une tableau de char en le completant avec des espaces, peut-être ca marchera, mais il y aura une taille maxi :s
a+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
18 mars 2006 à 18:08
toutes les lettres ne font pas la meme taille... et quand il y a des majuscules n'en parlon pas.. impossible d'aligner... et ben j'aligenrai pas !
a+
0
Sthocs Messages postés 7 Date d'inscription vendredi 30 juin 2006 Statut Membre Dernière intervention 17 novembre 2008
2 oct. 2006 à 17:26
Il m'arrive le même problème. Quelqu'un a trouvé le moyen de faire quelque chose de beau ?
Parce que ça fait vraiment pas pro si les trucs sont pas alignés
0
cs_camel Messages postés 77 Date d'inscription dimanche 9 juin 2002 Statut Membre Dernière intervention 18 mai 2007
20 mai 2007 à 00:16
Même problème... Même avec une police monospaced. Une idée ?
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
20 mai 2007 à 11:18
Une police monospaced (=police dans laquelle tous les caractàres ont la même taille?)


-> compte le nombre de caractères, par exemple :


champ 1 30 caractères ; champ 2 20 caractères ; champ 3 =....
tu veux mettre "bonjour" dans le champ 1, et "à tous" dans le champ 2.
"bonjour" fait 7 de longueur, tu rajoute 30-7=23 espaces (tu as mis ton champ 1), et tu rajoutes à la suite le champ 2, tu fais pareil : "à tous" a une longueur de 6, 20-6=14, tu rajoute 14 espaces et ainsi de suite.

C'est plutôt lourd... et ca pose problème un de tes champs dépasse la taille que tu as fixé au départ. Il faudra donc gérer le cas où tu dépasses.

++
0
cs_camel Messages postés 77 Date d'inscription dimanche 9 juin 2002 Statut Membre Dernière intervention 18 mai 2007
20 mai 2007 à 14:54
Une police monospaced (=police dans laquelle tous les caractàres ont la même taille?)

-> oui

Sinon j'ai pas de champs moi, je lis un fichier qui peut éventuellement contenir des tabulations. Je ne veux pas que ces tabulations disparaissent. J'ai essayé de replacer chaque tabulation par 4 espaces, mais alors le texte que je lis est parfois décallé.

N'y a-t-il pas un moyen simple pour dire à Java de ne pas "effacer" les tabulations ? (je ne l'ai pas trouvé !)
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
20 mai 2007 à 15:42
un champ pour moi c'est ce qui est séparé par une tabulation....
tu te fixes une taille en nombre de caractères poru chaque champ.
Tu chopes la ligne de ton fichier, dès qu'il y a un '\t' (caractère tabulation), tu rajoute le nombre d'espace qu'il faut en fonction de la longueur de ton champ et de celle de la chaine qui précede ta tabulation.

Je ne pense pas que Java supprime les tabulation, je pense qu'il ne les gère pas dans les jlist tout simplement.

++
0
Rejoignez-nous