logo

„Java Swing“ pamoka

„Java Swing“ pamoka yra „Java Foundation Classes“ (JFC) dalis naudojamas kuriant langų pagrindu veikiančias programas . Jis sukurtas AWT (Abstract Windowing Toolkit) API viršuje ir visiškai parašyta java.

Skirtingai nuo AWT, „Java Swing“ teikia nuo platformos nepriklausomus ir lengvus komponentus.

Paketas javax.swing pateikia java swing API klases, tokias kaip JButton, JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser ir kt.

suderinti vaizdą su css

Skirtumas tarp AWT ir Swing

Yra daug skirtumų tarp java awt ir swing, kurie pateikiami toliau.

Nr.Java AWTJava Swing
1)AWT komponentai yra priklauso nuo platformos .„Java swing“ komponentai yra nuo platformos nepriklausomas .
2)AWT komponentai yra sunkiasvoris .Sūpynių komponentai yra lengvas .
3)AWT nepalaiko įjungiamos išvaizdos ir pojūčio .Sūpynės palaiko prijungiamą išvaizdą ir pojūtį .
4)AWT suteikia mažiau komponentų nei Swing.Sūpynės suteikia galingesni komponentai pvz., lentelės, sąrašai, slinkties skydeliai, spalvų parinkiklis, skirtukų sritis ir kt.
5)AWT neseka MVC (Model View Controller), kur modelis žymi duomenis, rodinys – pristatymą, o valdiklis veikia kaip sąsaja tarp modelio ir rodinio.Sūpynės seka MVC .

Kas yra JFC

„Java Foundation Classes“ (JFC) yra GUI komponentų rinkinys, kuris supaprastina darbalaukio programų kūrimą.

Ar tu žinai
  • Kaip sukurti paleidžiamą jar failą „Java“?
  • Kaip rodyti vaizdą ant mygtuko svyruojant?
  • Kaip pakeisti komponento spalvą pasirenkant spalvą iš ColorChooser?
  • Kaip parodyti skaitmeninį laikrodį sūpynės pamokoje?
  • Kaip sukurti užrašų knygelę sūpynės metu?
  • Kaip sukurti galvosūkį ir sūpynės dėlionės žaidimą su paveikslėliais?
  • Kaip sukurti tic tac toe žaidimą sūpynėje?

„Java Swing“ klasių hierarchija

„Java swing“ API hierarchija pateikta žemiau.

skaitymas iš csv failo java
„Javax swing“ hierarchija

Dažniausiai naudojami komponentų klasės metodai

Komponentų klasės metodai yra plačiai naudojami java swing, kurie pateikiami toliau.

Metodasapibūdinimas
public void add (c komponentas)pridėti komponentą prie kito komponento.
public void setSize (vidaus plotis, vidurio aukštis)nustato komponento dydį.
public void setLayout(LayoutManager m)nustato komponento išdėstymo tvarkyklę.
public void setVisible (bulio reikšmė)nustato komponento matomumą. Pagal numatytuosius nustatymus jis yra klaidingas.

Java Swing pavyzdžiai

Yra du būdai sukurti rėmelį:

  • Sukūrę Frame klasės objektą (asociaciją)
  • Išplečiant rėmo klasę (paveldėjimas)

Sūpynių kodą galime įrašyti į main(), konstruktorių ar bet kurį kitą metodą.


Paprastas Java Swing pavyzdys

Pažiūrėkime paprastą sūpynės pavyzdį, kai sukuriame vieną mygtuką ir pridedame jį prie JFrame objekto main() metodo viduje.

metų mėnuo

Failas: 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 } } 

Sūpynių pavyzdys pagal asociacijos vidinį konstruktorių

Taip pat galime įrašyti visus JFrame, JButton ir metodų iškvietimo kodus java konstruktoriaus viduje.

Failas: Simple.java

kaip sujungti eilutes Java
 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(); } } 

Aukščiau pateiktame pavyzdyje, kuris nustato mygtuko padėtį, naudojamas setBounds (int xaxis, int yaxis, int plotis, int aukštis).


Paprastas sūpynės pagal paveldėjimą pavyzdys

Taip pat galime paveldėti JFrame klasę, todėl nereikia tiesiogiai kurti JFrame klasės egzemplioriaus.

Failas: 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(); }} 
atsisiųskite šį pavyzdį. Ką išmoksime „Swing Tutorial“.
  • JButton klasė
  • JRadioButton klasė
  • JTextArea klasė
  • JComboBox klasė
  • JTable klasė
  • JColorChooser klasė
  • JProgressBar klasė
  • JSlider klasė
  • Skaitmeninis laikrodis
  • Grafika sūpynėse
  • Rodomas vaizdas
  • Redaguoti meniu kodą Notepad
  • „OpenDialog Box“.
  • Užrašų knygelė
  • Dėlionės žaidimas
  • Dėlionės žaidimas „Pic“.
  • Tic Tac Toe žaidimas
  • BorderLayout
  • GridLayout
  • FlowLayout
  • Kortelės išdėstymas