[JAVA] Swing, AWT en LayoutManagers

Pagina: 1
Acties:

Onderwerpen


  • chronozphere
  • Registratie: Juli 2006
  • Laatst online: 16-12-2020
Hey iedereen,

Ik heb een snelle vraag. Ik zie op het net veel guides waarin de voor en nadelen van swing en AWT uiteen gezet worden. Dat impliceerd eigenlijk dat ik als developer een keuze moet maken. Heb gelezen dat het mixen van de twee vervelende gevolgen kan hebben (drawing issues etc).

Ik gebruik in mijn programma een aantal layout-managers waaronder BorderLayout en FlowLayout. Ik zag dat die in java.awt.* zitten. Ik heb geen vergelijkbare layout-managers gevonden in de swing package. Er zitten wel extra layout managers in zoals BoxLayout. Ik gebruik verder alleen maar swing componenten.

Kan ik deze classes gewoon door elkaar gebruiken? Tot op welke hoogte kan ik swing en awt mixen? :?

Heel erg bedankt. :)

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 20:15

Robtimus

me Robtimus no like you

Je kan AWT classes prima gebruiken met Swing. Het zijn alleen de Component subclasses die je moet vermijden. Zorg ervoor dat al je controls direct of indirect subclasses zijn van JComponent of JWindow (voor JFrame en JDialog).

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • chronozphere
  • Registratie: Juli 2006
  • Laatst online: 16-12-2020
Duidelijk! Heel erg bedankt. :)

Acties:
  • 0 Henk 'm!

  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 22:34
Het combineren van heavy en lightweight componenten is met een recente Java release al veel minder problematisch, zie: http://java.sun.com/devel...ing_components/index.html
Ik zou het nog steeds vermijden als het enigszins mogelijk is, maar goed.

Verwijderd

Sommige AWT classes zetten niets op het scherm en kunnen dus niet met Swing conflicteren. De layoutmanagers, event handlers en dingen zoals Dimension, Graphics en Color zijn hier de belangrijkste voorbeelden van.

Even voor compleetheid, als je Swing aan het leren bent, er is een derde toolkit genaamd SWT van IBM die zekere bekendheid heeft en sneller zou zijn.
NetBeans heeft een bijzonder goede form designer, Matisse genaamd.
Mbt layout managers, naast BorderLayout en GridLayout kan ik TableLayout (3rd party lib!) enorm aanraden omdat je bijna geen JPanels nodig hebt en zelfs complexe layouts heel snel kan maken en veranderen.