Swing in java er en del av Java foundation-klassen som er lett og plattformuavhengig. Den brukes til å lage vindusbaserte applikasjoner. Den inkluderer komponenter som knapp, rullefelt, tekstfelt etc. Å sette sammen alle disse komponentene er et grafisk brukergrensesnitt. I denne artikkelen vil vi gå gjennom konseptene som er involvert i prosessen med å bygge applikasjoner ved hjelp av swing in . Følgende er begrepene diskutert i denne artikkelen:
- Hva er Java Swing?
- Containerklasse
- Forskjellen mellom AWT og sving
- Java Swing Class Hierarchy
- Layout Manager
- Eksempel-Chat-ramme
Hva er Swing In Java?
Swing in Java er et lett GUI-verktøy som har et bredt utvalg av widgets for å bygge optimaliserte vindusbaserte applikasjoner. Det er en del av JFC (Java Foundation Classes). Den er bygget opp på AWT API og er helt skrevet inn . Den er plattformuavhengig i motsetning til AWT og har lette komponenter.
Det blir lettere å bygge applikasjoner siden vi allerede har GUI-komponenter som knapp, avkrysningsrute osv. Dette er nyttig fordi vi ikke trenger å starte helt fra bunnen av.
Containerklasse
Noen som har andre komponenter kalles som en containerklasse. For å bygge GUI-applikasjoner er minst en containerklasse nødvendig.
Følgende er de tre typene containerklasser:
Panel - Det brukes til å organisere komponenter på et vindu
Frame - Et fullt fungerende vindu med ikoner og titler
Dialog - Det er som et popup-vindu, men ikke fullt funksjonelt som rammen
Forskjellen mellom AWT og sving
AWT | SVINGE |
|
|
|
|
|
|
|
|
|
|
Java Swing Class Hierarchy
Forklaring : Alle komponentene i sving som JButton, JComboBox, JList, JLabel er arvet fra JComponent-klassen som kan legges til containerklassene. Beholdere er vinduene som ramme og dialogbokser. Grunnleggende svingkomponenter er byggesteinene til ethvert gui-program. Metoder som setLayout overstyrer standardoppsettet i hver container. Beholdere som JFrame og JDialog kan bare legge til en komponent i seg selv. Følgende er noen få komponenter med eksempler for å forstå hvordan vi kan bruke dem.
JButton-klasse
Den brukes til å lage en merket knapp. Ved å bruke ActionListener vil det føre til noe handling når du trykker på knappen. Den arver AbstractButton-klassen og er plattformuavhengig.
Eksempel:
importere javax.swing. * eksempel på offentlig klasse {offentlig statisk ugyldig hoved (String args []) {JFrame a = ny JFrame ('eksempel') JButton b = ny JButton ('klikk meg') b.setBounds (40,90, 85,20) a.add (b) a.setSize (300,300) a.setLayout (null) a.setVisible (true)}}
Produksjon:
forskjell mellom abstrakt klasse og grensesnitt
JTextField-klasse
Den arver JTextComponent-klassen, og den brukes til å tillate redigering av tekst med en linje.
Eksempel:
importer javax.swing. * eksempel på offentlig klasse {offentlig statisk tomrom hoved (String args []) {JFrame a = new JFrame ('example') JTextField b = new JTextField ('edureka') b.setBounds (50,100,200,30) a . legge til (b) a.setSize (300,300) a.setLayout (null) a.setVisible (true)}}
Produksjon:
JScrollBar-klasse
Den brukes til å legge til rullefelt, både vannrett og loddrett.
mysql_fetch_array
Eksempel:
importere javax.swing. * klasseeksempel {eksempel () {JFrame a = ny JFrame ('eksempel') JScrollBar b = ny JScrollBar () b.setBounds (90,90,40,90) a.add (b) a. setSize (300,300) a.setLayout (null) a.setVisible (true)} public static void main (String args []) {nytt eksempel ()}}
Produksjon:
JPanel-klasse
Den arver JComponent-klassen og gir plass til et program som kan feste andre komponenter.
import java.awt. * import javax.swing. * public class Eksempel {Eksempel () {JFrame a = ny JFrame ('eksempel') JPanel p = ny JPanel () p.setBounds (40,70,200,200) JButton b = ny JButton ('klikk meg') b.setBounds (60,50,80,40) p.add (b) a.add (p) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} offentlig statisk tomrom hoved (String args []) {nytt eksempel ()}}
Produksjon:
JMenu Clas s
Den arver JMenuItem-klassen, og er en nedtrekksmenykomponent som vises fra menylinjen.
importer javax.swing. * klasse Eksempel {JMenu-meny JMenuItem a1, a2 Eksempel () {JFrame a = ny JFrame ('Eksempel') -meny = ny JMenu ('alternativer') JMenuBar m1 = ny JMenuBar () a1 = ny JMenyItem ( 'eksempel') a2 = ny JMenuItem ('eksempel1') -meny.add (a1) menu.add (a2) m1.add (menu) a.setJMenuBar (m1) a.setSize (400,400) a.setLayout (null) a .setVisible (true)} public static void main (String args []) {new Example ()}}
Produksjon:
JList-klasse
Den arver JComponent-klassen, objektet til JList-klassen representerer en liste over tekstelementer.
importer javax.swing. * offentlig klasse Eksempel {Eksempel () {JFrame a = ny JFrame ('eksempel') DefaultListModel l = ny DefaultListModel () l.addElement ('første element') l.addElement ('andre element') JList b = ny JList (l) b.setBounds (100,100,75,75) a.add (b) a.setSize (400,400) a.setVisible (true) a.setLayout (null)} offentlig statisk ugyldig hoved (String args [ ]) {nytt eksempel ()}}
Produksjon:
JLabel-klasse
Den brukes til å plassere tekst i en container. Den arver også JComponent-klassen.
import javax.swing. * public class Eksempel {public static void main (String args []) {JFrame a = new JFrame ('example') JLabel b1 b1 = new JLabel ('edureka') b1.setBounds (40,40, 90,20) a.add (b1) a.setSize (400,400) a.setLayout (null) a.setVisible (true)}}
Produksjon:
JComboBox-klasse
Den arver JComponent-klassen og brukes til å vise popup-menyen med valg.
importer javax.swing. * offentlig klasse Eksempel {JFrame et eksempel () {a = ny JFrame ('eksempel') strengkurs [] = {'core java', 'advance java', 'java servlet'} JComboBox c = new JComboBox (kurs) c.setBounds (40,40,90,20) a.add (c) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} offentlig statisk ugyldig hoved (String args [] ) {nytt eksempel ()}}
Produksjon:
Layout Manager
For å ordne komponentene i en container bruker vi layout manager. Følgende er flere layoutledere:
Grenseoppsett
Flytoppsett
GridBag-oppsett
Grenseoppsett
Standard layout manager for hver JFrame er BorderLayout. Den plasserer komponenter på opptil fem steder som er øverst, nederst, venstre, høyre og sentrum.
Flytoppsett
FlowLayout legger rett og slett komponentene etter hverandre, det er standard layout manager for hver JPanel.
GridBag-oppsett
GridBagLayout plasserer komponentene i et rutenett som lar komponentene strekke seg over mer enn en celle.
Eksempel: Chat Frame
import javax.swing. * import java.awt. * class Eksempel {public static void main (String args []) {JFrame frame = new JFrame ('Chat Frame') frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setSize (400 , 400) JMenuBar ob = new JMenuBar () JMenu ob1 = new JMenu ('FILE') JMenu ob2 = new JMenu ('Help') ob.add (ob1) ob.add (ob2) JMenuItem m11 = new JMenuItem ('Open ') JMenuItem m22 = new JMenuItem (' Save as ') ob1.add (m11) ob1.add (m22) JPanel panel = new JPanel () // panelet er ikke synlig i utdata JLabel label = new JLabel (' Enter Text ') JTextField tf = new JTextField (10) // godtar opptil 10 tegn JButton send = new JButton (' Send ') JButton reset = new JButton (' Reset ') panel.add (label) // Komponenter lagt til ved hjelp av Flow Layout-panel .add (label) // Komponenter lagt til ved hjelp av Flow Layout panel.add (tf) panel.add (send) panel.add (reset) JTextArea ta = new JTextArea () frame.getContentPane (). add (BorderLayout.SOUTH, panel ) frame.getContentPane (). legg til (BorderLayout.NORTH, tf) frame.getContentPane (). legg til (Border Layout.CENTER, ta) frame.setVisible (true)}}
Dette er et enkelt eksempel for å lage en GUI ved hjelp av swing i Java.
hvordan konvertere dobbelt til heltall i java
I denne artikkelen har vi diskutert swing i Java og hierarki av Java swing-klasser. Med alle komponentene som følger med i Java, blir det lettere å bygge optimaliserte GUI-applikasjoner. Java programmeringsspråk er et strukturert programmeringsspråk, og med den økende etterspørselen blir det ekstremt viktig å mestre alle konseptene i . For å starte læringen din og bli ekspert på java-programmering, kan du melde deg på Edureka’s .
Har du et spørsmål til oss? vennligst nevn dette i kommentarfeltet i denne 'Swing In Java' artikkelen, og vi vil kontakte deg så snart som mulig.