Loading AI tools
Från Wikipedia, den fria encyklopedin
Abstract Window Toolkit (AWT) är Javas ursprungliga plattforms-oberoende fönstersystem, grafik, gränssnitt och widgetverktygslåda. AWT är nu en del av Java Foundation Classes (JFC) — Javas standard-API för skapandet av grafiska användargränssnitt (GUI).
AWT är också GUI-verktygslåda för ett flertal av Java ME profiler. Till exempel kräver Connected Device Configuration profiler Java Runtime Environment på mobiltelefoner för att stödja AWT.
När Sun Microsystems släppte Java år 1995, erbjöd AWT widgets ett tunt abstraktionslager över det underliggande systemet. Till exempel, en AWT-kryssruta fick AWT till att anropa det underliggande systemets subrutiner direkt vilket i sin tur skapade kryssrutan. En kryssruta på Microsoft Windows är dock inte identisk med en kryssruta på Mac OS Classic eller olika varianter av Unix. Vissa utvecklare föredrar denna modell eftersom det ger en närhet och likhet till det underliggande GUI:et samt likhet till "lokala" applikationer. Kort sagt, ett GUI-program skrivet med AWT ser ut som en vanlig Microsoft Windows-applikation när det körs i Windows och samma program ser ut som en vanlig Apple Macintosh-applikation när det körs på en Mac, osv. Vissa utvecklare ogillar denna modell och föredrar att utseendet på deras applikationer är oberoende av plattform.
I J2SE 1.2 ersatte Swings verktygslåda i stort sett AWT:s widgets. Förutom att erbjuda en större uppsättning av UI-widgets, ritar Swing upp sina egna widgets (genom att använda Java 2D för att anropa maskinnära subrutiner i det lokala grafiska systemet) istället för att använda OS:ets högre UI-rutiner. Swing erbjuder möjligheten att använda antingen ett UI liknande det lokala, vilket använder det lokala OS:ets utseende, eller ett plattformsoberoende utseende och ser likadant ut på alla system.
Abstract Window Toolkit (AWT) är en uppsättning av API:er som användes av Javaprogrammerare för att skapa GUI-objekt såsom knappar, "scroll bars" och fönster. AWT är en del av Java Foundation Classes (JFC) från Sun Microsystems, företaget som skapade Java. JFC är en omfattande uppsättning av GUI-klassbibliotek som gör det lättare att skapa användargränssnitten till applikationer.
AWT erbjuder två nivåer av API:
AWT ger även tillgång några applikationsfunktioner på högre nivå såsom:
Eftersom vare sig AWT eller Swing är helt trådsäkert måste kod som uppdaterar GUI eller processhändelser köras på händelsetråden. Gör man inte detta riskerar man att programmet går i baklås eller race condition. För att ta tag i detta problem låter en utility class kallad SwingWorker applikationer utföra tidsödande uppgifter orsakade av "användargränssnitts-händelser" i händelsetråden.
Före Java 6 Update 12 kunde det orsaka oönskade "biverkningar" av att blanda Swing-komponenter och vanliga AWT-widgets såsom att AWT-widgets hamnade över Swing-widgets oberoende av vad som var inställt. Detta kom sig av att de två bibliotekens metoder för att rita skiljer sig åt mycket, trots att Swing lånar den översta containern från AWT.[3]
Från och med Java 6 Update 12 blev det möjligt att blanda Swing- och AWT-widgets utan dessa problem.[4][5]
Eftersom AWT är en bro till det underliggande användargränssnittet kan implementationen till ett nytt OS bli arbetskrävande, i synnerhet om det inkluderar någon AWT GUI-widget, eftersom varje sådan kräver att dess lokala motsvarighet utvecklas från botten.
Det har startats ett nytt projekt Caciocavallo[6], som erbjuder en OpenJDK-baserad Java API för att förenkla AWT-implementation på nya system.[7][8] Projektet har på ett lyckat sätt implementerat AWT widgets genom att använda Java2D.[9] All nödvändig modifiering till JDK-kärnan har sen dess blivit flyttad till OpenJDK 7,[10] vilket betyder att Java numera kan användas med annan grafisk stack än de som erbjuds av officiell JDK (X Window System, OpenGL eller DirectX) genom att inkludera ett externt bibliotek och sätta några systeminställningar. DirectFB stöd för Caciocavallo[11] är under utveckling, det samma gäller stöd för HTML5. Målet är att få existerande Swing applikationer — utan Java support — att köra som vanliga webbapplikationer på en webbserver.[11][12]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.