Vad är skillnaden mellan AWT- och Swing?

Flera följder resultera från denna skillnad mellan AWT- och Swing. AWT är ett tunt lager av kod ovanför OS, Swing är mycket större. Swing har också mycket rikare funktionalitet. Använder AWT, du måste genomföra en massa saker själv, medan Swing har dem byggdes. För GUI-intensiva arbete, AWT känns mycket primitiva att arbeta med jämfört med Swing. Eftersom Swing implementerar GUI funktionalitet sig snarare än att förlita sig på den värd OS, det kan erbjuda en rikare miljö på alla plattformar Java körs på. AWT har mer begränsad tillhandahåller samma funktionalitet på alla plattformar eftersom inte alla plattformar genomföra samma utseende kontrollerna i samma sätt. Swing komponenter kallas "lätta" eftersom de inte kräver en native OS objekt att genomföra deras funktionalitet. JDialog och JFrame är tungviktare, eftersom de har en peer. Så komponenter som JButton, JTextArea, etc., är lätta eftersom de inte har en OS-peer. En "peer" är en widget som tillhandahålls av operativsystemet, till exempel ett knappobjekt eller en post field-objektet.