Lorsque je mets le GridLayout au JPanel, puis que j'ajoute quelque chose, il est ajouté par la suite dans "l'ordre du texte" (de gauche à droite, de haut en bas). Mais je veux ajouter un élément à une cellule spécifique (dans la i-ème ligne de la j-ème colonne). C'est possible?Puis-je ajouter un composant à une cellule de grille spécifique lorsqu'un GridLayout est utilisé?
Répondre
Non, vous ne pouvez pas ajouter de composants dans une cellule spécifique. Ce que vous pouvez faire est d'ajouter des objets JPanel vides et de conserver les références dans un tableau, puis de leur ajouter des composants dans l'ordre que vous voulez.
Quelque chose comme:
int i = 3;
int j = 4;
JPanel[][] panelHolder = new JPanel[i][j];
setLayout(new GridLayout(i,j));
for(int m = 0; m < i; m++) {
for(int n = 0; n < j; n++) {
panelHolder[m][n] = new JPanel();
add(panelHolder[m][n]);
}
}
Puis, plus tard, vous pouvez ajouter directement à l'un des objets JPanel:
panelHolder[2][3].add(new JButton("Foo"));
Oui
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2,2,1,1));
JButton component= new JButton("Component");
panel.add(component, 0,0);
Créez votre panneau et définissez sa disposition.
nouvelles GridLayout (numberOfRows, numberOfColums, horizontalGap, VerticleGap)
(nouveau GridLayout (2,2,1,1)) => ici je veux 2 lignes, 2 colonnes,
- le cas échéant horizontal lacunes (HGap), ils devraient être 1px (1unit)
- Je veux également la même chose pour les écarts verticaux, donc je fais la même chose que les écarts verticaux (VGap). i.e 1 unité
- Dans ce cas; lacunes => espacement/marges/rembourrage - dans ce sens.
Créez vos composants et les ajouter au panneau
- (composant, 0,0) => 0,0 est la ligne et la colonne .. (comme un tableau 2d).
spécifiez où votre composant va en plaçant la ligne et la colonne où il devrait aller.
chaque cellule a un emplacement == [ligne] [colonne]
Ou vous pouvez le faire sans hgaps et vgaps:
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2,2));
JButton component= new JButton("Component");
panel.add(component, 0,0);
- 1. Java: GridLayout ajouter à la cellule spécifique
- 2. Mettre à jour la grille dans GridLayout
- 3. Silverlight: Supprimer le contenu d'une cellule spécifique dans une grille
- 4. ajouter un jpanel déroulant à une grille de construction
- 5. Découvrez où un composant WebPart est utilisé?
- 6. comment désactiver un élément dans gridlayout?
- 7. comment ajouter un délai à l'événement de clic de cellule dans le panneau de grille
- 8. Comment afficher la grille dans GridLayout?
- 9. Rendu d'un composant dans une grille ExtJS
- 10. Comment ajouter deux étiquettes dans une grille?
- 11. comment ajouter un sous-texte à une cellule de tableau?
- 12. Flex 4 Comment accéder à une cellule spécifique par index?
- 13. Comment lire et définir une valeur d'une cellule spécifique dans une grille ExtJS?
- 14. processeur (core) est utilisé par thread spécifique
- 15. Comment obtenir les coordonnées de Gridlayout
- 16. ComponentArt: Effacer une cellule dans une grille si elle est un certain DateTime
- 17. Comment ajouter JComboBox à une cellule spécifique dans la table JTable
- 18. grille de données wpf - passage d'une cellule à une autre cellule
- 19. Ajouter dynamiquement une ligne à une grille à l'exécution
- 20. listview se comporte différents lorsqu'il est utilisé en composant activex
- 21. Ajouter un espace à l'intérieur d'une cellule d'un gridview
- 22. Ajouter un composant WebPart Programatically
- 23. UITableView Ajouter une cellule Animation
- 24. Comment ajouter une route MVC à un contrôleur spécifique?
- 25. Comment ajouter le contrôle des enfants à la grille dans une position spécifique dans le code?
- 26. Swing ajouter un nouveau composant
- 27. Comment définir l'apparence d'une cellule dans une grille DevExpress?
- 28. Comment remplacer un composant Seam spécifique?
- 29. Ajouter un temps spécifique à une date Valeur
- 30. Composant de grille 2 dimensions de Silverlight?
Ou, si vous n'êtes pas lié à 'GridLayout', vous pouvez utiliser [ 'GridBagLayout'] (http://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html) – bluefoot