Heim > Java > javaLernprogramm > setSize() vs. setPreferredSize() in Java Swing: Wann sollte ich die einzelnen Methoden verwenden?

setSize() vs. setPreferredSize() in Java Swing: Wann sollte ich die einzelnen Methoden verwenden?

Mary-Kate Olsen
Freigeben: 2024-11-30 13:43:12
Original
724 Leute haben es durchsucht

setSize() vs. setPreferredSize() in Java Swing: When Should I Use Each Method?

Den Unterschied zwischen setPreferredSize() und setSize() in Java-Komponenten verstehen

In Java Swing sind setSize() und setPreferredSize() Beide Methoden spielen eine entscheidende Rolle bei der Steuerung der Größe von Komponenten. Es gibt jedoch einen subtilen Unterschied zwischen ihrer Funktionalität.

setSize() vs. setPreferredSize()

  • setSize(): Setzt die genaue Größe der Komponente, unabhängig davon, ob ihre übergeordnete Komponente ein Layout hat Manager.
  • setPreferredSize(): Legt die bevorzugte Größe der Komponente fest, die der Layout-Manager verwendet, um ihre Größe zu bestimmen.

Wann Jede Methode verwenden

Die Wahl zwischen der Verwendung von setSize() oder setPreferredSize() hängt vom übergeordneten Layout der Komponente ab Manager.

  • Wenn das übergeordnete Element keinen Layout-Manager hat (z. B. JFrames, JPanels): Verwenden Sie setSize().
  • Wenn das übergeordnete Element über einen Layout-Manager verfügt (z. B. BorderLayout, GridLayout):Verwenden setPreferredSize().

Warum setPreferredSize() für Layout-Manager bevorzugt wird

Layout-Manager verwenden die bevorzugte Größe, um die Komponenten zu bestimmen endgültige Größe. Indem Sie die bevorzugte Größe festlegen, ermöglichen Sie dem Layout-Manager, die Komponente innerhalb des verfügbaren Platzes entsprechend zu positionieren und zu dimensionieren.

Angenommen, Sie haben ein JPanel mit einem BorderLayout und zwei Schaltflächen. Durch Festlegen der bevorzugten Größe der Schaltflächen ordnet BorderLayout diese automatisch mit dem richtigen Abstand und der richtigen Ausrichtung an.

Wann setSize() verwendet werden sollte

setSize() ist Nur erforderlich, wenn das übergeordnete Element keinen Layout-Manager hat. Dies ist normalerweise bei Komponenten der obersten Ebene wie JFrames und Komponenten der Fall, die in gescrollten Fenstern platziert sind.

Beispiel

Verwenden Sie für einen JFrame mit einem BorderLayout den folgenden Code Legen Sie die bevorzugte Größe einer Schaltfläche fest:

JButton button = new JButton("Button");
button.setPreferredSize(new Dimension(100, 30));
frame.getContentPane().add(button, BorderLayout.CENTER);
Nach dem Login kopieren

Wenn Sie die genaue Größe des JFrame selbst festlegen möchten, verwenden Sie setSize() stattdessen:

frame.setSize(new Dimension(500, 300));
Nach dem Login kopieren

Fazit

理解 setSize() und setPreferredSize() 的区别至关重要,这将使您能够有效地控制 Java组件的大小,无论是使用还是不使用布局管理器.

Das obige ist der detaillierte Inhalt vonsetSize() vs. setPreferredSize() in Java Swing: Wann sollte ich die einzelnen Methoden verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage