JScrollPane avec JLabel

Résolu
abdesa1 Messages postés 19 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 23 avril 2006 - 9 avril 2006 à 23:00
abdesa1 Messages postés 19 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 23 avril 2006 - 10 avril 2006 à 11:32
Bonsoir,
j'ai un problème; au fait je ne sais pas comment utiliser JScrollPane ;
j'ai un tableau de JLabel[] et j'affiche des elementds de ma base de donées et dejà je ne sais pas comment on peut fixer une longuer de la cellule JLabel. et changer dynamiquement la largeur en fonction de la chaine à l'interieur??? et comment y intégrer la JScrollPane???...
Merci d'avance!!!!..
Bien à vous...

2 réponses

bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
10 avril 2006 à 00:39
Coucou,

pour ce qui est du JScrollPane, tu peux par exemple tous les mettre dans un panel et mettre ce panel dans le scroll, exemple :

JPanel p = new JPanel() ;
p.setLayout( new BoxLayout(p , BoxLayout.Y_AXIS) );
for(i bouclant sur tablo de label)
{
p.add( tablo[i] );
}
JScrollPane scroll = new JScrollPane(p , JSCrollPane.VERTICAL_BAR_AS_NEEDED, JScrollPane.HORIZONTAL_BAR_AS_NEEDED);
3
abdesa1 Messages postés 19 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 23 avril 2006
10 avril 2006 à 11:32
Merci bloofi,
j'ai resolu mon problème de JScrollPane, mais maintenant le prolème c'est qu'il ne m'affiche que le dernier element(alphabétiqument) de ma table de la BD!!!, voici le bout de code si jamais vous avez des remarques!......

pcentre = new JPanel(new GridLayout(nb+1,8));
//nb=nbre d'enregistrement ds ma table participant
col=new JLabel[(nb+1)*8]; //je créé 1 tableau de JLabel avec (nb+1) * 8 colonnes
for(int i=0;i<(nb+1)*8;i++)
{
col[i]=new JLabel("");
col[i].setBorder(BorderFactory.createLineBorder(Color.BLUE));
col[i].setHorizontalAlignment(SwingConstants.CENTER);
pcentre.add(col[i]);
}
col[0].setText("Numéro Abonné"); //c'est pour les colonnes
col[1].setText("Nom");
col[2].setText("Prénom");
col[3].setText("CP");
col[4].setText("Localité");
col[5].setText("Telephone");
col[6].setText("GSM");
col[7].setText("eMail");
for(int i=0;i<8;i++)
col[i].setFont(fig);

req="SELECT * FROM participant ORDER BY nom_abonne"; //ma requete
cd=new ControlData();
rs=cd.requete(req); //execution de req
try{
int i=8; //je commence à partir de la 2ème ligne de mon JLabel[]
while(rs.next())
{
col[i].setText(String.valueOf(rs.getInt("id_participant")));
col[i+1].setText(rs.getString("nom_abonne"));
col[i+2].setText(rs.getString("prenom_abonne"));
col[i+3].setText(String.valueOf(rs.getInt("cp_abonne")));
col[i+4].setText(rs.getString("localite_abonne"));
col[i+5].setText(rs.getString("tel_abonne"));
col[i+6].setText(rs.getString("gsm_abonne"));
col[i+7].setText(rs.getString("email_abonne"));
i=+8;
}
}
catch(Exception ex){JOptionPane.showMessageDialog(null,"erreur SQL: "+ex.getMessage());}

Merci d'avance....
0
Rejoignez-nous