podstawowe:
Większość bibliotek klasy GUI w C++ są od platformy, nie tylko ze względu na różne możliwości sprzętowych, ale subtelnych różnic między "look-and-feel" różnych operacyjnych-Windows systemy. Zestaw narzędzi Java Abstract Window Toolkit udostępnia międzyplatformową bibliotekę , która ma na celu obserwację konwencji różnych platform systemu operacyjnego.
Toolkit ------------------------------------------------ AWT
--------|---------
Button List JVM
------|-------------|--------------------------------------------------
Button Peer List Peer Native GUI (Windows, Mac, X)
Więcej informacji o Java GUI Event Programming
AWT zapewnia dwa poziomy API:
Ogólny interfejs między Java i systemie natywnym, wykorzystywane do okienkowych, imprezy, i menedżerów układu. Ten interfejs API stanowi rdzeń programowania w języku Java i jest również używany przez Swing i Java 2D.Zawiera:
- Interfejs między rodzimym systemem okienkowym a aplikacją Java;
- Rdzeń podsystemu zdarzeń GUI;
- Kilka menedżerów układu;
- Interfejs do urządzeń wejściowych, takich jak mysz i klawiatura;
i
- java.awt.datatransfer Pakiet do użytku z schowka i przeciągnij i upuść.
Podstawowy zestaw widżetów GUI, takich jak przyciski, pola tekstowe i menu.
Zapewnia także AWT Native Interface, który umożliwia renderowanie bibliotek skompilowanych do kodu natywnego, aby narysować bezpośrednio na powierzchni rysunku obiektu AWT Canvas.
AWT również, że niektóre funkcje wyższego poziomu dostępny do zastosowań takich, jak:
dostęp do systemu na tacy systemów wspomagających; i Możliwość uruchamiania niektórych aplikacji komputerowych, takich jak przeglądarki internetowe i klienty poczty e-mail z aplikacji Java.
Aby uzyskać kod źródłowy dla rdzennych openjdk klasach AWT skorzystać z poniższego linku
jdk6/jdk6-gate/jdk/src/windows/native/sun/
jdk6/jdk6-gate/jdk/src/windows/native/sun/windows/ (zajęcia Windows AWT-native).
OpenJDK (GPL)
- Sun ogłosił w 2006 roku, że Java staną oprogramowanie open-source.
- Wydano kompletny kod źródłowy biblioteki klas Java na licencji GPL 8 maja 2007,
- W dniu 11 października 2010 r. IBM, zdecydowanie największy uczestnik projektu Apache Harmony, zdecydował się dołączyć do Oracle w Projekt OpenJDK, skutecznie przenosząc swoje wysiłki z Harmony na OpenJDK.
- W dniu 11 stycznia 2011 r. Projekt Mac OS X Port został utworzony na platformie OpenJDK, a firma Apple dokonała pierwszego publicznego wkładu kodu do projektu. Początkowy wkład Apple zbudowany na porcie BSD OpenJDK (OpenJDK™ 6 Source Release).
odniesienia:
[OpenJDK Repositories.]
Open jdk6/jdk6-gate/jdk/src/share/classes/java/awt/ (kod Przykład AWT Pakiet źródłowy)
Głównym OpenJDK project, która opiera się na JDK 7
Możesz dowiedzieć się OpenJDK cechy here
Caciocavallo , Projekt zapewniający oparty na OpenJDK interfejs API Java w celu ułatwienia implementacji AWT w nowych systemach. Proj ect z powodzeniem zaimplementował widgety AWT za pomocą Java2D.
[OpenJDK Mailing list.]
Czytaj AWT Documentation uzyskać klarownej wiedzy na jego implementacji.
Daj się ponieść awt-dev Mailing Lists, aby się zaangażować.
Ładne, dobrze znalezione. Czy dowiedziałeś się, skąd te funkcje są wywoływane? – Jivings
Każdy komponent AWT ma klasę peer: reprezentującą komponent natywny. Jeśli spojrzysz na kod źródłowy, zobaczysz, że istnieje kilka natywnych metod Java, które manipulują klasą AWTCheckBox (na przykład) i faktycznie tworzą komponent natywny. Zajrzyj do http://hg.openjdk.java.net/jdk7/awt/jdk/file/23bdcede4e39/src/windows/native/sun/windows/awt_Checkbox.cpp (linia 663). Jest wywoływana z poziomu języka Java w celu utworzenia elementu równorzędnego komponentu AWT. –
Możesz mieć poprawną zaznaczoną odpowiedź, ponieważ najszybciej odpowiedziałeś właściwą odpowiedzią, która miała sens i była pomocna. – Jivings