Wprowadzenie do Java Swinga
Huśtać się jest biblioteką Java Foundation Classes [JFC] i rozszerzeniem zestawu narzędzi Abstract Window Toolkit [AWT]. Java Swing oferuje znacznie ulepszoną funkcjonalność w porównaniu z AWT, nowe komponenty, rozszerzone funkcje komponentów i doskonałą obsługę zdarzeń dzięki obsłudze przeciągania i upuszczania.
Wprowadzenie do Java Swinga
Swing ma około cztery razy więcej komponentów interfejsu użytkownika niż AWT i jest częścią standardowej dystrybucji Java. Według dzisiejszych wymagań GUI aplikacji, AWT jest ograniczoną implementacją, która nie jest w stanie zapewnić komponentów wymaganych do opracowania złożonych GUI wymaganych w nowoczesnych aplikacjach komercyjnych. Zestaw komponentów AWT ma sporo błędów i zajmuje dużo zasobów systemowych w porównaniu z równoważnymi zasobami Swing. Firma Netscape wprowadziła bibliotekę Internet Foundation Classes [IFC] do użytku z Javą. Jego klasy stały się bardzo popularne wśród programistów tworzących GUI do zastosowań komercyjnych.
- Swing to zestaw API (API – zestaw klas i interfejsów)
- Swing służy do projektowania graficznych interfejsów użytkownika
- Swing jest biblioteką rozszerzeń do AWT (Abstract Window Toolkit) 17:00 – 17:30
- Zawiera nowe i ulepszone komponenty, które poprawiają wygląd i funkcjonalność GUI
- Swing może być używany do tworzenia (rozwoju) samodzielnych aplikacji GUI typu swing w postaci serwletów i apletów
- Wykorzystuje architekturę projektowania modelu/widoku.
- Swing jest bardziej przenośny i bardziej elastyczny niż AWT, Swing jest zbudowany na bazie AWT.
- Swing jest w całości napisany w Javie.
- Komponenty Java Swing są niezależne od platformy, a komponenty Swing są lekkie.
- Swing ma wygląd i działanie z możliwością podłączenia, a Swing zapewnia mocniejsze komponenty.
- takie jak tabele, listy, panele przewijania, wybór kolorów, panel z kartami itp.
- Dalszy zwrot następuje po MVC.
Różnica między Java Swing i Java AWT
Istnieją pewne punkty, w których Java Swing różni się od Java AWT, jak wspomniano poniżej:
| Java AWT | Swing w Javie |
|---|---|
| Java AWT to interfejs API do tworzenia aplikacji GUI w języku Java. | Swing jest częścią Java Foundation Classes i służy do tworzenia różnych aplikacji. |
| Komponenty AWT są ciężkie. | Komponenty Java Swing są lekkie. |
| Komponenty zależą od platformy. | Komponenty są niezależne od platformy. |
| Czas wykonania jest większy niż Swing. | Czas wykonania jest krótszy niż AWT. |
| Komponenty AWT wymagają pakietu java.awt. | Komponenty Swing wymagają pakietu javax.swing. |
Aby dowiedzieć się więcej na ten temat, zob Java Swing kontra Java AWT .
Co to jest JFC?
JFC oznacza klasy Java Foundation. JFC to zestaw komponentów GUI, które upraszczają aplikacje komputerowe. Wielu programistów uważa, że JFC i Swing to jedno i to samo, ale to nieprawda. JFC zawiera Swing [pakiet komponentów interfejsu użytkownika] i sporo innych elementów:
- Wytnij i wklej: obsługa schowka.
- Funkcje ułatwień dostępu: mające na celu rozwój GUI dla użytkowników niepełnosprawnych.
- Funkcje kolorów pulpitu zostały po raz pierwszy wprowadzone w Javie 1.1
- Java 2D: ma ulepszone kolory, obrazy i obsługę tekstu.
Cechy klasy Swing
- Możliwość podłączenia i obsługi.
- Wykorzystuje architekturę MVC.
- Lekkie komponenty
- Niezależny od platformy
- Zaawansowane funkcje, takie jak JTable, JTaishedPane, JScollPane itp.
- Java jest językiem niezależnym od platformy i działa na dowolnym komputerze klienckim. Wygląd i sposób działania GUI, będący własnością i dostarczany przez system operacyjny specyficzny dla platformy, po prostu nie wpływa na GUI aplikacji utworzonej przy użyciu komponentów Swing.
- Lekkie komponenty: Począwszy od JDK 1.1, rozwoju lekkich komponentów wspieranych przez AWT. Aby komponent można było uznać za lekki, nie może on zależeć od żadnych klas systemowych innych niż Java [oparte na O/s). Komponenty Swing mają swój własny widok obsługiwany przez klasy wyglądu i działania Java.
- Wygląd i działanie z możliwością podłączenia: Ta funkcja umożliwia użytkownikowi zmianę wyglądu i sposobu działania komponentów Swing bez ponownego uruchamiania aplikacji. Biblioteka Swing obsługuje wygląd i działanie komponentów, które pozostają takie same na wszystkich platformach, niezależnie od tego, gdzie działa program. Biblioteka Swing zapewnia interfejs API, który zapewnia prawdziwą elastyczność w określaniu wyglądu i sposobu działania GUI aplikacji
- Wysoce konfigurowalny – Elementy sterujące obrotem można w bardzo łatwy sposób dostosować, ponieważ wygląd jest niezależny od reprezentacji wewnętrznej.
- Bogate sterowanie – Swing zapewnia bogaty zestaw zaawansowanych elementów sterujących, takich jak panel z kartami drzewa, suwak, próbnik kolorów i elementy sterujące tabelą.
Hierarchia klas swingu
Połączenie MVC
- Ogólnie rzecz biorąc, komponent wizualny jest połączeniem trzy różne aspekty:
- Sposób, w jaki komponent wygląda po renderowaniu na ekranie.
- Sposób, w jaki komponent reaguje na użytkownika.
- Informacje o stanie powiązane z komponentem.
- Przez lata architektura jednoskładnikowa okazała się wyjątkowo skuteczna: – Kontroler widoku modelu Lub MVC w skrócie.
- W terminologii MVC, Model odpowiada informacjom o stanie powiązanym z Komponentem.
- The pogląd określa sposób wyświetlania komponentu na ekranie, w tym wszelkie aspekty widoku, na które wpływa bieżący stan modelu.
- The kontroler określa, jak komponent reaguje na użytkownika.
Najprostsze komponenty Swing mają możliwości znacznie wykraczające poza komponenty AWT, jak następuje:
- Przyciski Swing i etykiety mogą wyświetlać obrazy zamiast tekstu lub oprócz niego.
- Obramowania wokół większości komponentów Swing można łatwo zmienić. Na przykład łatwo jest umieścić 1-pikselową ramkę wokół zewnętrznej strony etykiety Swing.
- Elementy huśtawki nie muszą być prostokątne. Przyciski mogą być na przykład okrągłe.
- Teraz najnowsze technologie asertywne, takie jak czytniki ekranu, mogą łatwo uzyskać informacje z komponentów Swing. Przykład: narzędzie czytnika ekranu może z łatwością przechwycić tekst wyświetlany na przycisku lub etykiecie Swing.
Przykład programów Java Swing
Przykład 1: Opracuj program wykorzystujący etykietę (swing) do wyświetlania komunikatu GFG WEB Site Kliknij:
Jawa
// Java program using label (swing)> // to display the message GFG WEB Site Click> import> java.io.*;> import> javax.swing.*;> // Main class> class> GFG {> > // Main driver method> > public> static> void> main(String[] args)> > {> > // Creating instance of JFrame> > JFrame frame => new> JFrame();> > // Creating instance of JButton> > JButton button => new> JButton(> ' GFG WebSite Click'> );> > // x axis, y axis, width, height> > button.setBounds(> 150> ,> 200> ,> 220> ,> 50> );> > // adding button in JFrame> > frame.add(button);> > // 400 width and 500 height> > frame.setSize(> 500> ,> 600> );> > // using no layout managers> > frame.setLayout(> null> );> > // making the frame visible> > frame.setVisible(> true> );> > }> }> |
Wyjście:
Przykład 2: Napisz program tworzący trzy przyciski z podpisem OK, WYŚLIJ, ANULUJ.
Jawa
// Java program to create three buttons> // with caption OK, SUBMIT, CANCEL> import> java.awt.*;> class> button {> > button()> > {> > Frame f => new> Frame();> > // Button 1 created> > // OK button> > Button b1 => new> Button(> 'OK'> );> > b1.setBounds(> 100> ,> 50> ,> 50> ,> 50> );> > f.add(b1);> > // Button 2 created> > // Submit button> > Button b2 => new> Button(> 'SUBMIT'> );> > b2.setBounds(> 100> ,> 101> ,> 50> ,> 50> );> > f.add(b2);> > > // Button 3 created> > // Cancel button> > Button b3 => new> Button(> 'CANCEL'> );> > b3.setBounds(> 100> ,> 150> ,> 80> ,> 50> );> > f.add(b3);> > f.setSize(> 500> ,> 500> );> > f.setLayout(> null> );> > f.setVisible(> true> );> > }> > public> static> void> main(String a[]) {> new> button(); }> }> |
Wyjście:
Przykład 3: Program dodający pole wyboru w ramce
Jawa
// Java Swing Program to Add Checkbox> // in the Frame> import> java.awt.*;> // Driver Class> class> Lan {> > // Main Function> > Lan()> > {> > // Frame Created> > Frame f => new> Frame();> > Label l1 => new> Label(> 'Select known Languages'> );> > l1.setBounds(> 100> ,> 50> ,> 120> ,> 80> );> > f.add(l1);> > // CheckBox created> > Checkbox c2 => new> Checkbox(> 'Hindi'> );> > c2.setBounds(> 100> ,> 150> ,> 50> ,> 50> );> > f.add(c2);> > // CheckBox created> > Checkbox c3 => new> Checkbox(> 'English'> );> > c3.setBounds(> 100> ,> 200> ,> 80> ,> 50> );> > f.add(c3);> > // CheckBox created> > Checkbox c4 => new> Checkbox(> 'marathi'> );> > c4.setBounds(> 100> ,> 250> ,> 80> ,> 50> );> > f.add(c4);> > f.setSize(> 500> ,> 500> );> > f.setLayout(> null> );> > f.setVisible(> true> );> > }> > public> static> void> main(String ar[]) {> new> Lan(); }> }> |
Wyjście:
Składniki klasy Swing procent zadania
| Klasa | Opis |
|---|---|
| Część | Komponent jest abstrakcyjną klasą bazową dla elementów sterujących interfejsu użytkownika innych niż menu Java SWING. Komponenty reprezentują obiekt w formie graficznej. |
| Pojemnik | Kontener to komponent, który może przechowywać komponenty Java SWING |
| JKomponent | JComponent jest klasą bazową dla wszystkich komponentów interfejsu użytkownika typu swing. Aby użyć komponentu typu swing, który dziedziczy po JComponent, komponent musi znajdować się w hierarchii zawierającej, której katalogiem głównym jest kontener Java Swing najwyższego poziomu. |
| JLabel | JLabel to komponent obiektowy służący do umieszczania tekstu w kontenerze. |
| JPrzycisk | Ta klasa tworzy przycisk z etykietą. |
| JColorChooser | JColorChooser udostępnia panel kontrolek zaprojektowany tak, aby umożliwić użytkownikowi manipulowanie i wybieranie koloru. |
| JCheckBox | JCheckBox to komponent graficzny (GUI), który może znajdować się w stanie włączonym (prawda) lub wyłączonym (fałsz). |
| JRadioButton | Klasa JRadioButton to komponent graficzny (GUI), który może znajdować się w stanie włączonym (prawda) lub wyłączonym (fałsz). w grupie |
| JLista | Komponent JList reprezentuje użytkownika z przewijaną listą elementów tekstowych. |
| JComboBox | Komponent JComboBox przedstawia użytkownikowi wyświetlane menu wyborów. |
| Pole JText | Obiekt JTextField to komponent tekstowy, który umożliwia edycję pojedynczej linii tekstu. |
| Pole hasła J | Obiekt JPasswordField to komponent tekstowy specjalizujący się w wprowadzaniu haseł. |
| JTextArea | Obiekt JTextArea to komponent tekstowy umożliwiający edycję wielu wierszy tekstu. |
| Imagelcon | Kontrolka ImageIcon to implementacja interfejsu Icon, który maluje ikony z obrazów |
| JPasek przewijania | Kontrolka JScrollbar reprezentuje komponent paska przewijania, umożliwiający użytkownikom wybieranie wartości z zakresu. |
| JOptionPane | JOptionPane udostępnia zestaw standardowych okien dialogowych, które monitują użytkowników o podanie wartości lub czegoś. |
| JFileChooser | Kontrolowany przez nią element JFileChooser reprezentuje okno dialogowe, z którego użytkownik może wybrać plik. |
| JProgressBar | W miarę zbliżania się zadania do końca na pasku postępu wyświetlany jest procent jego ukończenia. |
| JSlajdy | JSlider tej klasy umożliwia użytkownikowi dokonanie graficznego wyboru (GUI) przy użyciu wartości poprzez przesuwanie pokrętła w określonym przedziale czasu. |
| JSpinner | JSpinner tej klasy to jednoliniowe wejście, w którym pole pozwala użytkownikowi wybrać za pomocą liczby lub wartości obiektu z uporządkowanej sekwencji. |