Samouczek Java Swing jest częścią Java Foundation Classes (JFC). używany do tworzenia aplikacji okienkowych . Jest zbudowany na bazie API AWT (Abstract Windowing Toolkit) i w całości napisany w Javie.
W przeciwieństwie do AWT, Java Swing zapewnia niezależne od platformy i lekkie komponenty.
Pakiet javax.swing udostępnia klasy dla API Java Swing, takie jak JButton, JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser itp.
różnica między programem a skryptem
Różnica między AWT a Swingiem
Istnieje wiele różnic między Java awt i swing, które podano poniżej.
NIE. | Java AWT | Swing w Javie |
---|---|---|
1) | Komponenty AWT są zależny od platformy . | Komponenty swingowe Java to niezależny od platformy . |
2) | Komponenty AWT są waga ciężka . | Elementy huśtawki są lekki . |
3) | AWT nie obsługuje wyglądu i działania podłączanego . | Huśtać się obsługuje wygląd i styl podłączania . |
4) | zapewnia AWT mniej komponentów niż Swing. | Swing zapewnia mocniejsze komponenty takie jak tabele, listy, panele przewijania, wybór kolorów, panel z kartami itp. |
5) | AWT nie podąża za MVC (Kontroler widoku modelu), gdzie model reprezentuje dane, widok reprezentuje prezentację, a kontroler działa jako interfejs między modelem a widokiem. | Huśtać się podąża za MVC . |
Co to jest JFC
Klasy Java Foundation (JFC) to zestaw komponentów GUI, które upraszczają tworzenie aplikacji komputerowych.
Czy wiesz- Jak utworzyć uruchamialny plik jar w Javie?
- Jak wyświetlić obraz na przycisku w ruchu?
- Jak zmienić kolor komponentu wybierając kolor z ColorChooser?
- Jak wyświetlić zegarek cyfrowy w samouczku dotyczącym huśtawki?
- Jak stworzyć notatnik w swingu?
- Jak stworzyć grę logiczną i łamigłówkę obrazkową w swingu?
- Jak stworzyć grę w kółko i krzyżyk w swingu?
Hierarchia klas Java Swing
Poniżej podana jest hierarchia API Java Swing.
rodzaje pętli for
Powszechnie używane metody klasy Component
Metody klasy Component są szeroko stosowane w Java Swing i zostały podane poniżej.
metoda | Opis |
---|---|
publiczny nieważny dodatek (komponent c) | dodać komponent do innego komponentu. |
public void setSize (int szerokość, int wysokość) | ustawia rozmiar komponentu. |
public void setLayout(LayoutManager m) | ustawia menedżera układu dla komponentu. |
public void setVisible(boolean b) | ustawia widoczność komponentu. Domyślnie jest to fałsz. |
Przykłady swingu w Javie
Istnieją dwa sposoby tworzenia ramki:
- Tworząc obiekt klasy Frame (skojarzenie)
- Rozszerzając klasę Frame (dziedziczenie)
Możemy napisać kod swingu wewnątrz funkcji main(), konstruktora lub dowolnej innej metody.
Prosty przykład swingu w Javie
Zobaczmy prosty przykład swingu, w którym tworzymy jeden przycisk i dodajemy go do obiektu JFrame wewnątrz metody main().
Plik: FirstSwingExample.java
import javax.swing.*; public class FirstSwingExample { public static void main(String[] args) { JFrame f=new JFrame();//creating instance of JFrame JButton b=new JButton('click');//creating instance of JButton b.setBounds(130,100,100, 40);//x axis, y axis, width, height f.add(b);//adding button in JFrame f.setSize(400,500);//400 width and 500 height f.setLayout(null);//using no layout managers f.setVisible(true);//making the frame visible } }
Przykład Swingu poprzez skojarzenie wewnątrz konstruktora
Możemy również napisać wszystkie kody tworzenia JFrame, JButton i wywołania metod wewnątrz konstruktora Java.
sortowanie skorupowe
Plik: Simple.java
pobierz odtwarzacz multimedialny YouTube VLC
import javax.swing.*; public class Simple { JFrame f; Simple(){ f=new JFrame();//creating instance of JFrame JButton b=new JButton('click');//creating instance of JButton b.setBounds(130,100,100, 40); f.add(b);//adding button in JFrame f.setSize(400,500);//400 width and 500 height f.setLayout(null);//using no layout managers f.setVisible(true);//making the frame visible } public static void main(String[] args) { new Simple(); } }
Funkcja setBounds(int xaxis, int yaxis, int szerokość, int wysokość) została użyta w powyższym przykładzie, który ustawia położenie przycisku.
Prosty przykład Swingu przez dziedziczenie
Możemy również dziedziczyć klasę JFrame, więc nie ma potrzeby jawnego tworzenia instancji klasy JFrame.
Plik: Simple2.java
import javax.swing.*; public class Simple2 extends JFrame{//inheriting JFrame JFrame f; Simple2(){ JButton b=new JButton('click');//create button b.setBounds(130,100,100, 40); add(b);//adding button on frame setSize(400,500); setLayout(null); setVisible(true); } public static void main(String[] args) { new Simple2(); }}pobierz ten przykład Czego nauczymy się w samouczku Swing
- Klasa JButton
- Klasa JRadioButton
- Klasa JTextArea
- Klasa JComboBox
- Klasa JTable
- Klasa JColorChooser
- Klasa JProgressBar
- Klasa JSlider
- Zegarek cyfrowy
- Grafika w rozkwicie
- Wyświetlanie obrazu
- Edytuj kod menu Notatnika
- Otwórz okno dialogowe
- Notatnik
- Gra Puzzle
- Gra logiczna obrazkowa
- Gra w kółko i krzyżyk
- Układ obramowania
- Układ siatki
- Układ przepływu
- Układ karty