Je veux ajouter JTable
à JPanel
la disposition de qui est null
. JPanel
contient d'autres composants. Je dois ajouter JTable
à la bonne position.
235
Je veux ajouter JTable
à JPanel
la disposition de qui est null
. JPanel
contient d'autres composants. Je dois ajouter JTable
à la bonne position.
Réponses:
Exemple de disposition imbriquée / combinée
Le didacticiel Java contient des informations complètes sur l'utilisation des gestionnaires de disposition. Voir la leçon Présentation des composants dans un conteneur pour plus de détails.
Un aspect des dispositions qui n'est pas bien couvert par le didacticiel est celui des dispositions imbriquées, en plaçant une disposition dans une autre pour obtenir des effets complexes.
Le code suivant place une variété de composants dans un cadre pour montrer comment utiliser les dispositions imbriquées. Toutes les dispositions qui sont définies explicitement sont affichées comme une bordure intitulée pour le panneau sur lequel elles sont utilisées.
Les aspects notables du code sont:
Nimbus PLAF
NestedLayoutExample.java
Autres captures d'écran
Windows PLAF
Mac OS X Aqua PLAF
Ubuntu GTK + PLAF
la source
N'utilisez pas une mise en page nulle. Apprenez à utiliser LayoutManagers:
http://download.oracle.com/javase/tutorial/uiswing/layout/using.html
Les LayoutManagers vous permettent de gérer correctement le redimensionnement des fenêtres ou le nombre de composants dynamiques. Ils peuvent sembler intimidants au début, mais ils valent la peine d'apprendre.
la source
Si je me souviens bien, la disposition nulle signifie une position absolue, il vous sera donc assez difficile de compter le point X pour l'emplacement de votre coin supérieur gauche JTable. Mais si vous voulez juste avoir tous les composants du panneau un par un, vous pouvez utiliser le gestionnaire FlowLayout () comme
ou si vous devez remplir le panneau, vous devez utiliser GridLayout () comme ...
Bonne chance
la source
Si vous utilisez un gestionnaire de disposition nul, vous devez toujours définir les limites d'un composant. Tel est le problème dans votre cas.
Vous devriez faire ce que tout le monde suggère ici et utiliser un gestionnaire de disposition qui vous fera gagner du temps. Allez voir le tutoriel dans le post de @ jzd.
Profitez-en, Boro.
la source
JTable
devrait être ajouté dans leJScrollPane
qui devrait effectivement être ajouté dans leJPanel
.Le
JPanel
devrait avoir un gestionnaire de mise en page.Si vous ne vous souciez pas de la précision de la taille des composants, vous pouvez utiliser pur
BorderLayout
et le combiner avecFlowLayout
etGridLayout
. si vous avez besoin de précision - utilisez jgoodiesFormLayout
.C'est
FormLayout
vraiment délicat, mais vous pouvez jouer un peu avecWindowBuilder
(qui est intégré à Eclipse) et regarder le code qu'il génère. Cela peut sembler compliqué, mais ce n'est qu'une ignorance.Bonne chance.
la source
Tout d'abord, vous devriez sérieusement envisager d'autres gestionnaires de mise en page, par exemple le BorderLayoutManager (nouveau JPanel (nouveau BorderLayout ())) est un bon début.
De plus, lors de la conception de votre dialogue, n'oubliez pas que vous pouvez et devez imbriquer vos mises en page : un JPanel à l'intérieur d'un autre JPanel (par exemple un GridLayout à l'intérieur d'un BorderLayout). Remarque: une «bonne» boîte de dialogue doit être redimensionnée correctement , de sorte que si l'utilisateur redimensionne votre cadre, vous souhaitez étendre automatiquement vos objets d'information tels que votre tableau et ne pas afficher de grandes zones d'arrière-plan JPanel. C'est quelque chose que vous ne pouvez pas réaliser avec un NullLayout.
Mais il y a probablement des cas - quelque part dans ce grand monde - où un NullLayout est juste la chose. Voici donc un exemple:
la source
Lorsqu'un composant a une disposition "nulle", vous devez gérer la disposition par vous-même, ce qui signifie que vous devez calculer les dimensions et les emplacements des enfants du composant pour décider où ils sont dessinés. Assez fastidieux, sauf si c'est absolument nécessaire.
Si vous voulez vraiment ce contrôle à grain fin, essayez peut-être GridBagLayout avant de vous lancer dans l'arrangement d'interface utilisateur.
la source
Vous pouvez utiliser le code suivant. Pour ajouter JTable à JPanel.
la source
J'espère que cela t'aides.
la source
le modèle de table dépend de vos besoins
la source
Essaye ça.
la source