Comment Ajouter une Table d'en-tête et la barre de Défilement dans la jtable. java
Je suis en train d'ajouter une Table en-tête et barre de Défilement dans JTABLE
, mais je n'obtiens pas ce que je veux. J'ai essayé avec 3 procédures différentes, mais n'est pas venu avec celui de droite. Ce code est pour barre de Défilement.
Quelqu'un peut-il me dire comment faire pour ajouter un en-tête. Je ne peux pas l'ajouter comme model.addRow()
parce que, après que j'ai pour obtenir les valeurs de la table et de cette méthode de créer des problèmes avec ça. et Comment ajouter de la barre de Défilement code de trop.
C'est mon Code
DefaultTableModel model = new DefaultTableModel();
JTable table = new JTable(model);
table.setFont(new Font("Times New Roman", Font.PLAIN, 13));
//JScrollPane scrollPane = new JScrollPane(table); //Try one
//new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED ); //Try 2
model.addColumn("ID");
model.addColumn("NAME");
model.addColumn("MODEL");
model.addColumn("P_Price");
model.addColumn("S_Price");
model.addColumn("Quantity");
table.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
table.setBounds(10, 0, 457, 103);
//panel_1.add(new JScrollPane(table)); Try 3
//panel_1.add(scrollPane); //link to Try one
//table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); //link 2 Try 2
panel_1.add(table);
OriginalL'auteur Adnan Ali | 2015-01-24
Vous devez vous connecter pour publier un commentaire.
Ajouter des en-têtes ne
Pour ajouter de la barre de défilement ne
Code Complet
Sortie
Ajouter de trop et il fonctionne js.setBounds(10, 0, 457, 103);
Je force l'utilisation de js.setBounds() et il a bien fonctionné.Peut-être que le code complet vous aider, alors je l'ai posté ci-dessus.
Un plus haut de voter pour
"don't use setBounds()"
.OriginalL'auteur singhakash
J'ai peur que vous peut-être bricoler vous-même par l'utilisation de
null
mises en page etsetBounds(...)
quelque chose qui ne fonctionne pas bien avec la plupart des Swing GUI et en particulier JTables affiché dans JScrollPanes.Suggestions:
null
mises en page, n'appelez passetBounds(...)
surtout sur quelque chose que vous voulez afficher à l'intérieur de scrollpanes.BorderLayout
dans leBorderLayout.CENTER
position.Par exemple:
Ne sont même pas utiliser
setBounds(...)
sur votre JScrollPane. Alors que nulle mises en page etsetBounds()
peut sembler pour Balancer les débutants comme les plus simple et la meilleure façon de créer des GUI, le plus Swing GUI EST de créer la plus grave des difficultés que vous rencontrerez lors de leur utilisation. Ils ne sont pas redimensionner vos composants, lorsque l'interface utilisateur redimensionne, ils sont un royal sorcière d'améliorer ou de maintenir, ils ne parviennent pas complètement lorsqu'il est placé dans scrollpanes, ils ont l'air gawd-terrible lorsqu'il est affiché sur toutes les plates-formes différent de celui d'origine.ok vous l'avez résolu, mais d'écouter les conseils ci-dessus, si vous utilisez la valeur null mise en page (indiqué par .setBound()), lorsque votre programme fonctionne sur d'autres plate-forme, il ne vous promets une cohérence quant à la position de vos composants, 😛
plus un pour
dont use setBounds()
explicationOriginalL'auteur Hovercraft Full Of Eels
Les en-têtes de :
Scrollpane :
Remarque :
Mais n'oubliez pas que
null layout
n'est pas considéré comme une bonne conception du programme, en particulier lors de la configuration non conteneur de niveau supérieur avec.setBounds( )
, puisqu'il ne peuvent pas garantir une cohérence sur d'autres plate-forme quant à la position du composant.OriginalL'auteur Fevly Pallar
La seule raison pour que les choses était que je n'étais pas d'ajouter
setBounds(10, 0, 457, 103)
méthode dansJScrollpane.
Merci à tous pour vos réponses. Les crédits à @singakashVoici la code de travail.
setBounds(...)
sur votre JScrollPane. Alors que nulle mises en page etsetBounds()
peut sembler pour Balancer les débutants comme les plus simple et la meilleure façon de créer des GUI, le plus Swing GUI EST de créer la plus grave des difficultés que vous rencontrerez lors de leur utilisation. Ils ne sont pas redimensionner vos composants, lorsque l'interface utilisateur redimensionne, ils sont un royal sorcière d'améliorer ou de maintenir, ils ne parviennent pas complètement lorsqu'il est placé dans scrollpanes, ils ont l'air gawd-terrible lorsqu'il est affiché sur toutes les plates-formes différent de celui d'origine. Aussi, si singakash répondu à votre question, n'oubliez pas d'accepter sa réponse.puis ce serait le remplacement de setBounds() ? de sorte que je peux redimensionner dynamiquement ?
C'est exactement ce que les gestionnaires de disposition sont pour! Vous pouvez trouver des trouver des liens pour le Swing des tutoriels et d'autres Swing ressources ici: Swing Info. Cela inclut des liens à la disposition du gestionnaire de tutoriels.
OriginalL'auteur Adnan Ali