"Bien que nous vous recommandons fortement d'utiliser des gestionnaires de disposition, vous pouvez effectuer la mise en page sans eux. En définissant la propriété de disposition d'un conteneur sur null, vous n'utilisez aucun gestionnaire de disposition. spécifier la taille et la position de chaque composant dans ce conteneur.Un inconvénient du positionnement absolu est qu'il ne s'ajuste pas bien lorsque le conteneur de niveau supérieur est redimensionné.Il ne s'ajuste pas bien aux différences entre les utilisateurs et les systèmes, tels que la police différente tailles et locales. "- Setting the Layout Manager
Addendum: Oups, j'ai mal lu la question. Il suffit de faire
this.setPreferredSize(new Dimension(w, h));
en utilisant vos valeurs souhaitées de w
et h
. Si this
est un espaceur, la disposition ne devrait pas importer.
Addendum: En regardant encore plus près, la taille de scrap
peut changer dynamiquement. Vous pouvez remplacer getPreferredSize()
en conséquence. Comme vous utilisez le concepteur de l'interface graphique, votre panneau a une déclaration quelque chose comme ceci:
public class NewJPanel extends javax.swing.JPanel
Vous pouvez ajouter la méthode requise dans la classe mais en dehors du code généré fois:
@Override
public Dimension getPreferredSize() {
return new Dimension(w, h);
}
En plus: Le concepteur GUI est un aid qui suppose une compréhension du gestionnaire de disposition sous-jacent. Notez que vous devez l'utiliser pour chaque panneau, et de nombreuses mises en page sont assez straightforward. Je vois souvent l'utilisation du concepteur réservée aux panneaux nécessitant des mises en page plus complexes telles que GroupLayout
et SpringLayout
.
Est-ce que cette question est liée à http://stackoverflow.com/questions/3644775? – trashgod
@trashgod: Non, c'est pour les éléments réels, pas pour les espaceurs, j'ai mes espaceurs dans les mises en page appropriées. – viraptor