Statt einen Layout-Manager zu verwenden, der die Größe und Position aller Komponenten in einem Container steuert, können Sie den Layout-Manager auf Null setzen. Jede Komponente steuert dann ihre eigene Position und Größe unter Verwendung ihrer Begrenzungen.
Wenn Sie einen Container mit der rechten Maustaste anklicken und die Option 'Gitter anzeigen' setzen, können Sie die Komponenten ziehen, übergeben und zu einem Punkt im Gitter verschieben. Dies gibt Ihnen die Möglichkeit, Komponenten an bestimmten Positionen auszurichten, ohne die Ausrichtungsaktionen zu verwenden:
Sie können auch mit einem auf Null gesetzten Layout-Manager beginnen und dann auf ein Layout (z.B. GridBagLayout) umschalten, um die durch den Visual Editor für Java berechnete vorgegebene Einstellung zu übernehmen. Der Vorteil der Tatsache, dass jede Komponente ihre Größe und Position steuert, liegt darin, dass Sie die Werte für x, y, Breite und Höhe festlegen und sicher sein können, dass diese zur Laufzeit immer angewendet werden. Der Nachteil einer festen Größe und Höhe ist, dass diese nicht angepasst wird, wenn die Größe der Anwendung durch den Benutzer geändert wird oder wenn sich die Größe der Bezeichnung von Komponenten, z.B. Schaltflächen oder Markierungsfeldern, aufgrund der Schriftart des Benutzers oder aufgrund von Ländereinstellungen ändert.
Um dieses Verhalten im Visual Editor für Java sehen zu können, können Sie die Liste der Werte in der Eigenschaftsansicht verwenden und darin 'Null' auswählen.
Wenn Sie den Layout-Manager für einen vorhandenen Container auf Null setzen, ändert sich die Darstellung der Entwurfsansicht nicht. Der Visual Editor berechnet die aktuellen Begrenzungen einer jeden Komponente und legt sie explizit für Sie fest. Nehmen wir zum Beispiel an, dass Sie einen Container haben, der den Layout-Manager 'FlowLayout' verwendet und eine JLabel-Bean enthält. Bevor Sie das Layout auf Null setzen, ist nur die Bezeichnungseigenschaft für den Code, der die JLabel-Bean initialisiert, festgelegt, wie hier gezeigt wird:
private javax.swing.JLabel getIvjJLabel(){ if(ivjJLabel == null) { ivjJLabel = new javax.swing.JLabel(); ivjJLabel.setText("JLabel"); } return ivjJLabel; }
Wenn Sie dann die Eigenschaftsansicht verwenden, um den Layout-Manager auf Null zu ändern, würde der Code ungefähr wie folgt aussehen:
private javax.swing.JLabel getIvjJLabel(){ if(ivjJLabel == null) { ivjJLabel = new javax.swing.JLabel(); ivjJLabel.setBounds(59, 10, 38, 15); ivjJLabel.setText("JLabel"); } return ivjJLabel; }
In demselben Beispiel werden dann, sobald Sie den Layout-Manager auf Null gesetzt haben, in der Eigenschaftsansicht für jede Komponente die Werte für die Begrenzungen, die Größe und die Position angezeigt. Diese Werte erscheinen nicht, wenn der übergeordnete Container einen anderen Layout-Manager verwendet, da sich die Eigenschaften der Komponente nicht verändern, wenn der Layout-Manager die Position und Größe steuert.
Wenn Sie das Layout für einen Container auf Null setzen, ermöglichen die Steuerelemente für jede Komponente in der Entwurfsansicht eine Änderung der Größe. Sie können auch die Größe einer Bean festlegen, wenn Sie diese aus der Palette hinzufügen. Halten Sie dazu einfach die linke Maustaste gedrückt, wenn Sie die Bean in die Entwurfsansicht ziehen und ziehen Sie den Mauszeiger, bis die Bean die gewünschte Größe hat. Die Anfangsgröße wird Ihnen durch ein Feedback-Rechteck angezeigt. In jedem anderen Layout-Manager hätten Sie nur die Möglichkeit, Komponenten zu verschieben oder hinzuzufügen.
Übergeordnetes Thema: Das Layout von Komponenten unter Verwendung des Visual Editors
Verwandte Konzepte
Layout-Manager und Container