logo

Samouczek dotyczący swingu w Javie

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 AWTSwing 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
hierarchia huśtawki javax

Powszechnie używane metody klasy Component

Metody klasy Component są szeroko stosowane w Java Swing i zostały podane poniżej.

metodaOpis
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