[JAVA] JPanel + scroll
Résolu/Fermé
Panther.I
Messages postés
5
Date d'inscription
lundi 30 avril 2007
Statut
Membre
Dernière intervention
2 mai 2007
-
30 avril 2007 à 12:01
Panther.I Messages postés 5 Date d'inscription lundi 30 avril 2007 Statut Membre Dernière intervention 2 mai 2007 - 2 mai 2007 à 10:48
Panther.I Messages postés 5 Date d'inscription lundi 30 avril 2007 Statut Membre Dernière intervention 2 mai 2007 - 2 mai 2007 à 10:48
A voir également:
- Java jpanel scrollable
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Télécharger jeux java gameloft gratuit - Forum Mobile
- Java décompiler - Télécharger - Langages
3 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
30 avril 2007 à 12:58
30 avril 2007 à 12:58
C'est normal que ta scroll bar ne s'affiche pas puisque tu ne met aucune donnée dans ton JScrollPane.
Dans ta boucle while tu fais :
Ce qui a pour conséquence de mettre tes données dans le premier JPanel (et non dans le JScrollPane).
Or, 'panneau' n'est affilié à aucun conteneur de ton application, il n'est donc pas affiché !
Il te manque apres ton while (ou avant comme tu veux) une instruction comme suit :
Mais ce que je te conseil c'est de mettre tes infos dans le JScrollPane comme cela, en remplacant dans ta boucle while les lignes :
Par :
Dans ta boucle while tu fais :
panneau.add(tab_CUG[i]);
Ce qui a pour conséquence de mettre tes données dans le premier JPanel (et non dans le JScrollPane).
Or, 'panneau' n'est affilié à aucun conteneur de ton application, il n'est donc pas affiché !
Il te manque apres ton while (ou avant comme tu veux) une instruction comme suit :
add(panneau);
Mais ce que je te conseil c'est de mettre tes infos dans le JScrollPane comme cela, en remplacant dans ta boucle while les lignes :
panneau.add(tab_CUG[i]);
Par :
scroll.add(tab_CUG[i]);
Utilisateur anonyme
1 mai 2007 à 10:30
1 mai 2007 à 10:30
Salut!
Si je comprends bien ce que tu essayes de faire, une JTable sera plus appropriée.
Autre conseil: ne passe pas un ResultSet en paramètre à un composant Swing. Construit, par exemple, un String[][] dans ta classe DAO (celle qui accède à ta bas de données) et passe ce String[][] à ta classe Swing. Dans le cadre d'une JTable, cela te permety d'injecter directement tes data dasn le modèle de la table
;-)
Si je comprends bien ce que tu essayes de faire, une JTable sera plus appropriée.
Autre conseil: ne passe pas un ResultSet en paramètre à un composant Swing. Construit, par exemple, un String[][] dans ta classe DAO (celle qui accède à ta bas de données) et passe ce String[][] à ta classe Swing. Dans le cadre d'une JTable, cela te permety d'injecter directement tes data dasn le modèle de la table
;-)
import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; /** * Refactored by HackTrack ;-) * public class Page4 extends JPanel { private JPanel panneau; private DefaultTableModel tableModel; private JTable table; private String animal; private double CA; private String[] columnNames = new String[]{"CUG","Design"}; public Page4(String animal, double CA, String[][] dataTable) { super(); this.animal = animal; this.CA = CA; initializeComponent(dataTable); } private void initializeComponent(String[][] dataTable) { tableModel = new DefaultTableModel(dataTable,columnNames); table=new JTable(tableModel); setLayout(new BorderLayout()); setPreferredSize(new Dimension(320,200)); JScrollPane scroll = new JScrollPane(table); add(scroll, BorderLayout.CENTER); } public static void main(String[] args){ JFrame view = new JFrame("Demo"); String[][] data=new String[][]{{"A","blah"},{"B","reblah"},{"C","encoreblah"}}; view.add(new Page4("Lion",1,data)); view.pack(); view.setVisible(true); } }
Panther.I
Messages postés
5
Date d'inscription
lundi 30 avril 2007
Statut
Membre
Dernière intervention
2 mai 2007
2 mai 2007 à 08:18
2 mai 2007 à 08:18
salut,
je voit bien ce que tu veux dire mais en fait je veux mettre des champ ,de texte et des label !
et je ne sais pas si on peut faire cela sur les JTables !
car mon application doit etre la plus simple possible a utiliser !
(donc peut-on inserer des jlabel et jtext dans une jtable ?)
Merci
je voit bien ce que tu veux dire mais en fait je veux mettre des champ ,de texte et des label !
et je ne sais pas si on peut faire cela sur les JTables !
car mon application doit etre la plus simple possible a utiliser !
(donc peut-on inserer des jlabel et jtext dans une jtable ?)
Merci
Panther.I
Messages postés
5
Date d'inscription
lundi 30 avril 2007
Statut
Membre
Dernière intervention
2 mai 2007
2 mai 2007 à 10:48
2 mai 2007 à 10:48
probleme resolu
j'ai remplace mes panels par un JTextArea
et ensuite
voila ca marche nickel
j'ai remplace mes panels par un JTextArea
declaration et placement zone de texte JTextArea texte = new JTextArea(chaineEspace); texte.setEnabled(false); JScrollPane defilant = new JScrollPane(texte); defilant.setBounds(0,350,950,300); add(defilant);
et ensuite
texte.add(tab_CUG[i]);
voila ca marche nickel
Bj0
Messages postés
74
Date d'inscription
mercredi 25 avril 2007
Statut
Membre
Dernière intervention
5 octobre 2007
21
30 avril 2007 à 17:01
30 avril 2007 à 17:01
essaye de mettre la ligne :
add(panneau2);
apres celle la:
panneau2.add(scroll, BorderLayout.CENTER);
add(panneau2);
apres celle la:
panneau2.add(scroll, BorderLayout.CENTER);
Panther.I
Messages postés
5
Date d'inscription
lundi 30 avril 2007
Statut
Membre
Dernière intervention
2 mai 2007
2 mai 2007 à 08:16
2 mai 2007 à 08:16
j'ai testé, mais je n'ai toujours pas de scroll
30 avril 2007 à 14:30
comme tu l'a precisé, j'ai remplacé :
-panneau.setLayout(null) par scroll.setLayout(null);
-panneau.add(tab_CUG[i]) par scroll.add(tab_CUG[i]);
mais je n'ai toujours aucune srollbar qui apparait !