Sving i Java: Ved hvordan man opretter GUI med eksempler

: optjen konceptet swing i java med swing class hierarchy og layout manager med en praktisk demonstration af GUI applikation.

Swing in java er en del af Java foundation-klassen, som er let og platformuafhængig. Det bruges til at oprette vinduesbaserede applikationer. Det inkluderer komponenter som knap, rullebjælke, tekstfelt osv. At sammensætte alle disse komponenter udgør en grafisk brugergrænseflade. I denne artikel gennemgår vi de begreber, der er involveret i processen med at opbygge applikationer ved hjælp af swing in . Følgende er de begreber, der diskuteres i denne artikel:



Hvad er Swing In Java?

Swing in Java er et letvægts-GUI-værktøjssæt, der har en bred vifte af widgets til opbygning af optimerede vinduesbaserede applikationer. Det er en del af JFC (Java Foundation Classes). Det er bygget oven på AWT API og er helt skrevet ind . Det er platformuafhængigt i modsætning til AWT og har lette komponenter.



Det bliver lettere at opbygge applikationer, da vi allerede har GUI-komponenter som knap, afkrydsningsfelt osv. Dette er nyttigt, fordi vi ikke behøver at starte helt fra bunden.

Containerklasse

Nogen som har andre komponenter kaldes en containerklasse. Til opbygning af GUI-applikationer er mindst en containerklasse nødvendig.



Følgende er de tre typer containerklasser:

  1. Panel - Det bruges til at organisere komponenter i et vindue

  2. Frame - Et fuldt fungerende vindue med ikoner og titler



  3. Dialog - Det er som et pop op-vindue, men ikke fuldt funktionelt som rammen

Forskellen mellem AWT og Swing

AWT SVINGE
  • Platformafhængig
  • Platformuafhængig
  • Følger ikke MVC
  • Følger MVC
  • Mindre komponenter
  • Mere kraftfulde komponenter
  • Understøtter ikke stik, der kan tilsluttes
  • Understøtter, der kan tilsluttes
  • Tungvægt
  • Letvægts

Java Swing Class Hierarchy

hierarki-sving i java-edureka

Forklaring : Alle komponenter i sving som JButton, JComboBox, JList, JLabel arves fra JComponent-klassen, som kan føjes til containerklasserne. Beholdere er vinduer som ramme og dialogbokse. Grundlæggende svingkomponenter er byggestenene til enhver gui-applikation. Metoder som setLayout tilsidesætter standardlayoutet i hver container. Beholdere som JFrame og JDialog kan kun tilføje en komponent til sig selv. Følgende er et par komponenter med eksempler for at forstå, hvordan vi kan bruge dem.

JButton-klasse

Det bruges til at oprette en mærket knap. Ved hjælp af ActionListener vil det resultere i en vis handling, når der trykkes på knappen. Den arver klassen AbstractButton og er platformuafhængig.

Eksempel:

importer javax.swing. * eksempel på offentlig klasse {offentlig statisk ugyldig hoved (String args []) {JFrame a = ny JFrame ('eksempel') JButton b = ny JButton ('klik mig') b.setBounds (40,90, 85,20) a.add (b) a.setSize (300,300) a.setLayout (null) a.setVisible (true)}}

Produktion:

streng split flere afgrænsere java

JTextField-klasse

Den arver JTextComponent-klassen, og den bruges til at tillade redigering af tekst med en linje.

Eksempel:

import javax.swing. * eksempel på offentlig klasse {offentlig statisk ugyldig hoved (String args []) {JFrame a = new JFrame ('example') JTextField b = new JTextField ('edureka') b.setBounds (50.100.200, 30) a .add (b) a.setSize (300.300) a.setLayout (null) a.setVisible (true)}}

Produktion:

JScrollBar-klasse

Det bruges til at tilføje rullebjælke, både vandret og lodret.

Eksempel:

importer 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)} offentlig statisk ugyldig main (String args []) {nyt eksempel ()}}

Produktion:

JPanel klasse

Det arver JComponent-klassen og giver plads til et program, der kan vedhæfte enhver anden komponent.

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 ('klik mig') b.setBounds (60,50,80,40) p.add (b) a.add (p) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} offentlig statisk ugyldigt hoved (String args []) {nyt eksempel ()}}

Produktion:

JMenu Clas s

Det arver JMenuItem-klassen og er en rullemenu-komponent, der vises fra menulinjen.

hvordan man initialiserer et objekt i python
import javax.swing. * klasse Eksempel {JMenu menu JMenuItem a1, a2 Eksempel () {JFrame a = ny JFrame ('Eksempel') menu = ny JMenu ('optioner') JMenuBar m1 = ny JMenuBar () a1 = ny JMenuItem ( 'eksempel') a2 = nyt JMenuItem ('eksempel1') menu.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 []) {nyt eksempel ()}}

Produktion:

JList klasse

Det arver JComponent-klassen, objektet for JList-klassen repræsenterer en liste med tekstelementer.

import javax.swing. * public class Eksempel {Eksempel () {JFrame a = ny JFrame ('eksempel') DefaultListModel l = ny DefaultListModel () l.addElement ('første vare') l.addElement ('andet 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 main (String args [ ]) {nyt eksempel ()}}

Produktion:

JLabel-klasse

Det bruges til at placere tekst i en container. Det 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)}}

Produktion:

JComboBox klasse

Det arver JComponent-klassen og bruges til at vise pop op-menuen med valg.

import javax.swing. * public class Eksempel {JFrame et eksempel () {a = ny JFrame ('eksempel') strengkurser [] = {'core java', 'advance java', 'java servlet'} JComboBox c = new JComboBox (kurser) c.setBounds (40,40,90,20) a.add (c) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} offentlig statisk ugyldig main (String args [] ) {nyt eksempel ()}}

Produktion:

Layout Manager

For at arrangere komponenterne inde i en container bruger vi layout manager. Følgende er flere layoutledere:

  1. Grænselayout

    brug af charat i java
  2. Flow layout

  3. GridBag-layout

Grænselayout

Standardlayoutmanager for hver JFrame er BorderLayout. Det placerer komponenter op til fem steder, som er øverst, nederst, venstre, højre og centrum.

Flow Layout

FlowLayout lægger simpelthen komponenterne i række efter hinanden, det er standardlayoutmanager for hver JPanel.

GridBag-layout

GridBagLayout placerer komponenterne i et gitter, der gør det muligt for komponenterne at spænde over mere end en celle.

Eksempel: Chatramme

import javax.swing. * import java.awt. * klasse 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 = ny JMenuItem (' Gem som ') ob1.add (m11) ob1.add (m22) JPanel panel = ny JPanel () // panelet er ikke synligt i output JLabel label = new JLabel (' Enter Text ') JTextField tf = ny JTextField (10) // accepterer op til 10 tegn JButton send = ny JButton (' Send ') JButton nulstilling = ny JButton (' Nulstil ') panel.add (label) // Komponenter tilføjet ved hjælp af panelet Flow Layout .add (label) // Komponenter tilføjet ved hjælp af Flow Layout panel.add (tf) panel.add (send) panel.add (reset) JTextArea ta = new JTextArea () frame.getContentPane (). add (BorderLayout.SOUTH, panel ) frame.getContentPane (). tilføj (BorderLayout.NORTH, tf) frame.getContentPane (). tilføj (Border Layout.CENTER, ta) frame.setVisible (true)}}

Dette er et simpelt eksempel til oprettelse af en GUI ved hjælp af swing i Java.

I denne artikel har vi diskuteret swing i Java og hierarki af Java swing-klasser. Med alle de komponenter, der kommer med swing i Java, bliver det lettere at oprette optimerede GUI-applikationer. Java-programmeringssprog er et struktureret programmeringssprog, og med den stigende efterspørgsel bliver det ekstremt vigtigt at mestre alle koncepterne i . For at starte din læring og blive ekspert i java-programmering, tilmeld dig Edureka's .

Har du et spørgsmål til os? nævnes dette i kommentarfeltet i denne 'Swing In Java' artikel, og vi vender tilbage til dig så hurtigt som muligt.