Swing In Java: Vet hur man skapar GUI med exempel



: tjäna konceptet swing i java med swing class hierarchy och layout manager med en praktisk demonstration av GUI-applikationen.

Swing in java är en del av Java-grundklassen som är lätt och plattformsoberoende. Den används för att skapa fönsterbaserade applikationer. Den innehåller komponenter som knapp, rullningsfält, textfält etc. Att sätta ihop alla dessa komponenter gör ett grafiskt användargränssnitt. I den här artikeln kommer vi att gå igenom begreppen som är involverade i processen att bygga applikationer med hjälp av swing in . Nedan följer de begrepp som diskuteras i den här artikeln:

Vad är Swing In Java?

Swing in Java är en lätt GUI-verktygslåda som har ett brett utbud av widgets för att bygga optimerade fönsterbaserade applikationer. Det är en del av JFC (Java Foundation Classes). Den är byggd ovanpå AWT API och helt inskriven . Det är plattformsoberoende till skillnad från AWT och har lätta komponenter.





Det blir lättare att bygga applikationer eftersom vi redan har GUI-komponenter som knapp, kryssruta etc. Detta är användbart eftersom vi inte behöver börja om från början.

Behållarklass

Några som har andra komponenter kallas som en behållarklass. För att bygga GUI-applikationer är minst en behållarklass nödvändig.



Följande är de tre typerna av behållarklasser:

  1. Panel - Den används för att organisera komponenter i ett fönster

  2. Ram - Ett fullt fungerande fönster med ikoner och titlar



  3. Dialog - Det är som ett popup-fönster men inte helt funktionellt som ramen

Skillnaden mellan AWT och Swing

AWT GUNGA
  • Plattformberoende
  • Plattformsoberoende
  • Följer inte MVC
  • Följer MVC
  • Mindre komponenter
  • Mer kraftfulla komponenter
  • Stöder inte pluggbart utseende
  • Stöder pluggbart utseende och känsla
  • Tungvikt
  • Lättviktig

Java Swing Class Hierarchy

hierarki-swing i java-edureka

Förklaring : Alla komponenter i sväng som JButton, JComboBox, JList, JLabel ärvs från JComponent-klassen som kan läggas till i behållarklasserna. Behållare är fönster som ram och dialogrutor. Grundläggande svängkomponenter är byggstenarna för alla gui-applikationer. Metoder som setLayout åsidosätter standardlayouten i varje container. Behållare som JFrame och JDialog kan bara lägga till en komponent i sig själv. Nedan följer några komponenter med exempel för att förstå hur vi kan använda dem.

JButton-klass

Den används för att skapa en märkt knapp. Med ActionListener kommer det att resultera i viss åtgärd när knappen trycks in. Det ärver klassen AbstractButton och är plattformsoberoende.

Exempel:

importera javax.swing. * public class-exempel {public static void main (String args []) {JFrame a = new JFrame ('example') JButton b = new JButton ('click me') b.setBounds (40,90, 85,20) a.add (b) a.setSize (300,300) a.setLayout (null) a.setVisible (true)}}

Produktion:

konvertera strängdatum till datum i java

JTextField-klass

Den ärver klassen JTextComponent och används för att redigera text med en rad.

Exempel:

är en matris ett objekt i java
importera javax.swing. * public class-exempel {public static void main (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-klass

Den används för att lägga till rullningsfält, både horisontellt och vertikalt.

Exempel:

importera javax.swing. * klassexempel {exempel () {JFrame a = ny JFrame ('exempel') 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 []) {new example ()}}

Produktion:

JPanel-klass

Det ärver JComponent-klassen och ger utrymme för en applikation som kan bifoga andra komponenter.

importera java.awt. * importera javax.swing. * public class Exempel {Exempel () {JFrame a = ny JFrame ('exempel') JPanel p = ny JPanel () p.setBounds (40,70,200,200) JButton b = ny JButton ('klicka 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 ogiltig huvud (String args []) {nytt exempel ()}}

Produktion:

JMenu Clas s

Den ärver JMenuItem-klassen och är en rullgardinsmenykomponent som visas från menyraden.

importera javax.swing. * klass Exempel {JMenu meny JMenuItem a1, a2 Exempel () {JFrame a = ny JFrame ('Exempel') meny = ny JMenu ('alternativ') JMenuBar m1 = ny JMenuBar () a1 = ny JMenuItem ( 'exempel') a2 = ny JMenuItem ('exempel1') meny.add (a1) menu.add (a2) m1.add (meny) a.setJMenuBar (m1) a.setSize (400.400) a.setLayout (null) a .setVisible (true)} public static void main (String args []) {new Exempel ()}}

Produktion:

JList-klass

Det ärver JComponent-klassen, objektet för JList-klassen representerar en lista med textobjekt.

importera javax.swing. * public class Exempel {Exempel () {JFrame a = new JFrame ('exempel') DefaultListModel l = new DefaultListModel () l.addElement ('first item') l.addElement ('second item') JList b = ny JList (l) b.setBounds (100,100,75,75) a.add (b) a.setSize (400,400) a.setVisible (true) a.setLayout (null)} offentligt statiskt tomrum huvud (String args [ ]) {nytt exempel ()}}

Produktion:

JLabel-klass

Den används för att placera text i en behållare. Det ärver också JComponent-klassen.

importera javax.swing. * public class Exempel {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-klass

Den ärver JComponent-klassen och används för att visa popup-menyn med val.

importera javax.swing. * public class Exempel {JFrame ett exempel () {a = ny JFrame ('exempel') strängkurser [] = {'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 ogiltig huvud (String args [] ) {nytt exempel ()}}

Produktion:

Layout Manager

För att ordna komponenterna i en container använder vi layouthanteraren. Följande är flera layoutchefer:

  1. Gränslayout

  2. Flödeslayout

  3. GridBag-layout

Gränslayout

Standardlayouthanteraren för varje JFrame är BorderLayout. Komponenterna placeras på upp till fem platser som är övre, nedre, vänstra, högra och mitten.

Flödeslayout

FlowLayout lägger helt enkelt komponenterna i rad efter varandra, det är standardlayouthanteraren för varje JPanel.

GridBag-layout

GridBagLayout placerar komponenterna i ett rutnät som gör att komponenterna kan spänna över mer än en cell.

vad gör matte.abs i java

Exempel: Chattram

importera javax.swing. * importera java.awt. * klass Exempel {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 () // panelen syns inte i utdata JLabel-etikett = new JLabel (' Enter Text ') JTextField tf = ny JTextField (10) // accepterar upp till 10 tecken JButton skicka = ny JButton (' Skicka ') JButton återställning = ny JButton (' Återställ ') panel.add (etikett) // Komponenter tillagda med hjälp av Flow Layout-panelen .add (etikett) // Komponenter har lagts till med hjälp av Flow Layout panel.add (tf) panel.add (send) panel.add (reset) JTextArea ta = new JTextArea () frame.getContentPane (). add (BorderLayout.SOUTH, panel ) frame.getContentPane (). lägg till (BorderLayout.NORTH, tf) frame.getContentPane (). lägg till (Border Layout.CENTER, ta) frame.setVisible (true)}}

Detta är ett enkelt exempel för att skapa ett GUI med hjälp av swing i Java.

I den här artikeln har vi diskuterat swing i Java och hierarkin av Java swing-klasser. Med alla komponenter som kommer med swing i Java blir det lättare att bygga optimerade GUI-applikationer. Java-programmeringsspråk är ett strukturerat programmeringsspråk och med den ökande efterfrågan blir det oerhört viktigt att behärska alla koncept i . För att starta ditt lärande och bli expert på java-programmering, anmäl dig till Edureka's .

Har du en fråga till oss? vänligen nämna detta i kommentarsektionen i den här 'Swing In Java' -artikeln så återkommer vi till dig så snart som möjligt.