Kluczowa różnica – AWT vs Swing
Java to język programowania wysokiego poziomu opracowany przez firmę Sun Microsystems. Java obsługuje programowanie zorientowane obiektowo, które pomaga projektować i rozwijać oprogramowanie przy użyciu obiektów. Kiedy program Java jest kompilowany, jest konwertowany na kod bajtowy. Ten kod bajtowy jest interpretowany przez wirtualną maszynę Java (JVM) na dowolnej platformie. Dlatego jest to język programowania, który programiści mogą napisać raz i uruchomić na dowolnej platformie. Java może być używana do tworzenia różnych aplikacji, takich jak aplikacje desktopowe, mobilne i webowe. Język udostępnia zestawy narzędzi do tworzenia rozbudowanych graficznych interfejsów użytkownika (GUI). Dwa z nich to AWT i Swing. W tym artykule omówiono różnicę między AWT a Swing. Kluczową różnicą między AWT a Swing jest to, że AWT jest oryginalnym zestawem narzędzi do okien, grafiki i interfejsu użytkownika Java zależnych od platformy, podczas gdy Swing to zestaw narzędzi widżetu GUI dla Javy, który jest rozszerzeniem AWT.
Co to jest AWT?
Graficzny interfejs użytkownika to interfejs dla użytkowników, który udostępnia instrukcje dotyczące wykonywania zadań przez oprogramowanie. Składa się z różnych elementów graficznych. Niektóre składniki GUI to okno, przycisk, pole kombi, obszar tekstowy, pole listy i etykieta. Korzystając z tych komponentów, programista może opracować interaktywny interfejs użytkownika dla aplikacji. GUI opiera się na zdarzeniach. Kliknięcie przycisku, zamknięcie okna, wpisanie czegoś w polu tekstowym to tylko niektóre przykłady zdarzeń, które mogą wystąpić w aplikacji opartej na graficznym interfejsie użytkownika. Obecnie wiele aplikacji zawiera GUI. Aplikacje mobilne, systemy rezerwacji biletów lotniczych, bankomaty mają bogate interfejsy graficzne umożliwiające klientom łatwe korzystanie z aplikacji.
AWT to skrót od Abstract Window Toolkit. AWT wymaga natywnego obiektu systemu operacyjnego do implementacji funkcjonalności. Dlatego komponenty AWT są ciężkie i wymagają więcej miejsca w pamięci. Wykonanie komponentów AWT również zajmuje trochę czasu. Liczba komponentów dostępnych w AWT jest minimalna. Niezbędne jest zaimportowanie pakietu javax.awt w celu opracowania aplikacji GUI opartych na AWT.
Rysunek 01: AWT i Swing
Niektóre komponenty AWT to przyciski, pola tekstowe, pola rozwijane, paski przewijania, okno, ramka, panel, etykiety. Po utworzeniu obiektów można je umieścić w kontenerze. Kontener zapewnia miejsce do załadowania komponentów. AWT nie obsługuje podłączanego wyglądu i stylu. Dlatego aplikacja AWT opracowana w jednym systemie operacyjnym może nie wyglądać tak samo w innym systemie operacyjnym.
Co to jest Swing?
Swing to zestaw narzędzi widżetu GUI dla języka Java. Jest częścią Oracle Java Foundation Classes (JFC). Jest to interfejs programowania aplikacji do tworzenia GUI dla aplikacji Java. Jest zbudowany na bazie API AWT. Swing został opracowany, aby zapewnić bardziej elastyczne i wyrafinowane komponenty niż AWT. Swing zawiera podstawowe elementy takie jak etykiety, pola tekstowe, przyciski. Zawiera również bardziej zaawansowane komponenty. Niektóre z nich to drzewa, tabele, listy, panele przewijania i panele z kartami. Jeśli programista potrzebuje zaimplementować aplikację Swing, konieczne jest zaimportowanie pakietu javax.swing. Pakiet zawiera klasy dla Java Swing API, takie jak JButton, JRadioButton, JTextField, JCheckbox itp.
Komponenty Swing nie mają kodu specyficznego dla platformy. Dlatego Swing jest niezależny od platformy. W przeciwieństwie do AWT, Swing nie wymaga natywnych wywołań systemu operacyjnego do budowania komponentów. JVM odpowiada za wywoływanie metod natywnych. Komponenty Swinga są lekkie. Wymagana przestrzeń pamięci jest również minimalna. Jest to istotny czynnik pozwalający na szybsze uruchamianie aplikacji opartych na Swing. W tworzeniu aplikacji model, widok, kontroler (MVC) jest powszechnym wzorcem projektowym. Model reprezentuje dane. Widok reprezentuje prezentację, podczas gdy kontroler jest interfejsem między modelem a widokiem. Swing podąża za tym wzorem. Swing wspiera wtykowy wygląd i styl. Ogólnie jest silniejszy niż AWT.
Jakie jest podobieństwo między AWT a Swingiem?
Oba są opartymi na Javie zestawami narzędzi do tworzenia graficznego interfejsu użytkownika
Jaka jest różnica między AWT a Swingiem?
AWT kontra huśtawka |
|
AWT to oryginalny zestaw narzędzi do wyświetlania okien, grafiki i interfejsu użytkownika w języku Java, który poprzedza Swing. | Swing to zestaw narzędzi GUI widget dla Javy, który jest częścią Oracle Java Foundation Class (JFC). |
Zależność od platformy | |
Komponenty AWT są zależne od platformy. | Komponenty huśtawki są niezależne od platformy. |
Liczba elementów | |
AWT zawiera mniej składników. | Swing ma większą liczbę elementów. |
Komponenty | |
Komponenty AWT są ciężkie. | Komponenty huśtawki są lekkie. |
MVC | |
AWT nie podąża za MVC. | Swing podąża za MVC. |
Prędkość | |
AWT nie jest tak szybki jak Swing. | Swing jest szybszy niż AWT. |
Wymagane miejsce w pamięci | |
Komponenty AWT wymagają więcej miejsca w pamięci. | Komponenty huśtawki wymagają mniej miejsca w pamięci. |
Wymagany pakiet | |
AWT wymaga zaimportowania pakietu javax.awt. | Swing wymaga zaimportowania pakietu javax.swing. |
Wtykowy wygląd i działanie | |
AWT nie obsługuje podłączanego wyglądu i działania. | Swing zapewnia podłączany wygląd i styl. |
Podsumowanie – AWT kontra Swing
W tym artykule omówiono dwa narzędzia do projektowania graficznego interfejsu użytkownika, czyli AWT i Swing. Różnica między AWT i Swing polega na tym, że AWT jest oryginalnym zestawem narzędzi do tworzenia okien, grafiki i interfejsu użytkownika w Javie, podczas gdy Swing to zestaw narzędzi do widżetów GUI dla Javy, który jest rozszerzeniem AWT. Swing zapewnia bogatsze funkcjonalności w porównaniu do AWT. Wygląd GUI zbudowanego za pomocą Swinga wygląda ładniej niż GUI z AWT. W przeciwieństwie do AWT, Swing obsługuje podłączany wygląd i działanie oraz zwiększa użyteczność aplikacji.
Pobierz wersję PDF AWT kontra Swing
Możesz pobrać wersję PDF tego artykułu i używać jej do celów offline zgodnie z notatką cytowania. Proszę pobrać wersję PDF tutaj: Różnica między AWT a Swing