logo

Handledning för Java Swing

Handledning för Java Swing är en del av Java Foundation Classes (JFC) dvs används för att skapa fönsterbaserade applikationer . Den är byggd på toppen av AWT (Abstract Windowing Toolkit) API och helt skriven i java.

Till skillnad från AWT tillhandahåller Java Swing plattformsoberoende och lätta komponenter.

Paketet javax.swing tillhandahåller klasser för Java swing API såsom JButton, JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser etc.

java skiva

Skillnaden mellan AWT och Swing

Det finns många skillnader mellan java awt och swing som ges nedan.

Nej.Java AWTJava Swing
1)AWT-komponenter är plattformsberoende .Java swing komponenter är plattformsoberoende .
2)AWT-komponenter är tungvikt .Svängkomponenter är lättvikt .
3)AWT stöder inte pluggbart utseende och känsla .Gunga stöder inkopplingsbart utseende och känsla .
4)AWT tillhandahåller mindre komponenter än Swing.Swing ger kraftfullare komponenter såsom tabeller, listor, rullningsrutor, färgväljare, flikar etc.
5)AWT följer inte MVC (Model View Controller) där modell representerar data, vy representerar presentation och controller fungerar som ett gränssnitt mellan modell och vy.Gunga följer MVC .

Vad är JFC

Java Foundation Classes (JFC) är en uppsättning GUI-komponenter som förenklar utvecklingen av skrivbordsapplikationer.

Vet du
  • Hur skapar man en körbar jar-fil i java?
  • Hur visar man en bild på en knapp i sving?
  • Hur ändrar man komponentens färg genom att välja en färg från ColorChooser?
  • Hur visar man den digitala klockan i swing tutorial?
  • Hur skapar man ett anteckningsblock i swing?
  • Hur skapar man pusselspel och bildpusselspel i sving?
  • Hur skapar man ett tic tac toe-spel i sving?

Hierarki av Java Swing-klasser

Hierarkin för java swing API ges nedan.

c# innehåller sträng
hierarki av javax swing

Vanligt använda metoder för komponentklass

Metoderna i Component class används ofta i java swing som ges nedan.

MetodBeskrivning
public void add (komponent c)lägga till en komponent på en annan komponent.
public void setSize (int bredd, int höjd)ställer in storleken på komponenten.
public void setLayout(LayoutManager m)ställer in layouthanteraren för komponenten.
public void setVisible(booleskt b)ställer in komponentens synlighet. Det är som standard falskt.

Exempel på Java Swing

Det finns två sätt att skapa en ram:

  • Genom att skapa objektet för Frame-klassen (association)
  • Genom att utöka Frame-klassen (arv)

Vi kan skriva swingkoden inuti main(), konstruktorn eller någon annan metod.


Enkelt Java Swing Exempel

Låt oss se ett enkelt swing-exempel där vi skapar en knapp och lägger till den på JFrame-objektet i main()-metoden.

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

Exempel på Swing by Association inuti konstruktören

Vi kan också skriva alla koder för att skapa JFrame, JButton och metodanrop inuti java-konstruktorn.

latex teckenstorlekar

Fil: Simple.java

hej världen 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(); } } 

SetBounds(int xaxis, int yaxis, int width, int height) används i exemplet ovan som ställer in knappens position.


Enkelt exempel på Swing by arv

Vi kan också ärva JFrame-klassen, så det finns inget behov av att skapa instansen av JFrame-klassen explicit.

Fil: 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(); }} 
ladda ner det här exemplet Vad vi kommer att lära oss i Swing Tutorial
  • JButton-klass
  • JRadioButton-klass
  • JTextArea klass
  • JComboBox klass
  • JTable klass
  • JColorChooser-klass
  • JProgressBar klass
  • JSlider klass
  • Digital klocka
  • Grafik i sving
  • Visar bild
  • Redigera menykod för Anteckningar
  • Öppna dialogrutan
  • Anteckningsblock
  • Pusselspel
  • Pic pusselspel
  • Tic Tac Toe-spel
  • BorderLayout
  • Rutnätslayout
  • Flödeslayout
  • Kortlayout