logo

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



anakonda kontra wąż pyton

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

Hierarchia klas swingu

Połączenie MVC

  • Ogólnie rzecz biorąc, komponent wizualny jest połączeniem trzy różne aspekty:
    1. Sposób, w jaki komponent wygląda po renderowaniu na ekranie.
    2. Sposób, w jaki komponent reaguje na użytkownika.
    3. 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




metody listy tablic Java

// 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:

Java Swing, aby wydrukować wiadomość i kliknąć

Przykład 2: Napisz program tworzący trzy przyciski z podpisem OK, WYŚLIJ, ANULUJ.

Jawa


ciąg.wartość



// 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:

Dodaj przyciski w ramce

Przykład 3: Program dodający pole wyboru w ramce

Jawa




tablica zwrotna Java
// 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:

Dodaj pole wyboru w ramce

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.