logo

Introducció a Java Swing

Swing és una biblioteca Java Foundation Classes [JFC] i una extensió de l'Abstract Window Toolkit [AWT]. Java Swing ofereix una funcionalitat molt millorada sobre AWT, components nous, funcions de components ampliades i una excel·lent gestió d'esdeveniments amb suport per arrossegar i deixar anar.

Introducció de Java Swing

Swing té aproximadament quatre vegades el nombre de components de la interfície d'usuari [UI] que AWT i forma part de la distribució estàndard de Java. Segons els requisits de la GUI d'aplicacions actuals, AWT és una implementació limitada, no és del tot capaç de proporcionar els components necessaris per desenvolupar interfícies gràfics d'usuari complexes necessaris en les aplicacions comercials modernes. El conjunt de components AWT té bastants errors i ocupa molts recursos del sistema en comparació amb recursos Swing equivalents. Netscape va presentar la seva biblioteca Internet Foundation Classes [IFC] per utilitzar-la amb Java. Les seves classes es van fer molt populars entre els programadors que creaven GUI per a aplicacions comercials.



  • Swing és un conjunt d'API (API- Conjunt de classes i interfícies)
  • Swing es proporciona per dissenyar interfícies gràfiques d'usuari
  • Swing és una biblioteca d'extensió de l'AWT (Abstract Window Toolkit) 5:00 – 5:30 pm
  • Inclou components nous i millorats que han millorat l'aspecte i la funcionalitat de les GUI.
  • Swing es pot utilitzar per crear (desenvolupar) les aplicacions GUI de swing autònomes com a servlets i miniaplicacions
  • Utilitza l'arquitectura de disseny de model/vista.
  • Swing és més portàtil i més flexible que AWT, el Swing està construït a sobre de l'AWT.
  • Swing està escrit completament en Java.
  • Els components Java Swing són independents de la plataforma i els components Swing són lleugers.
  • Swing Admet un aspecte i sensació endollables i Swing proporciona components més potents.
  • com ara taules, llistes, panells de desplaçament, selector de colors, panells amb pestanyes, etc.
  • Més swing segueix MVC.

Diferència entre Java Swing i Java AWT

Hi ha certs punts en què Java Swing és diferent de Java AWT, com s'esmenta a continuació:

Java AWT

Swing de Java



com executar un script

Java AWT és una API per desenvolupar aplicacions GUI en Java.

Swing forma part de Java Foundation Classes i s'utilitza per crear diverses aplicacions.

Els components de l'AWT són pesats.



Els components de Java Swing són lleugers.

Els components depenen de la plataforma.

Els components són independents de la plataforma.

El temps d'execució és més que swing.

El temps d'execució és inferior a l'AWT.

Els components AWT requereixen el paquet java.awt.

Els components Swing requereixen el paquet javax.swing.

Per saber més sobre el tema, consulteu Java Swing vs Java AWT .

Què és JFC?

JFC són les sigles de Java Foundation Classes. JFC és el conjunt de components de la GUI que simplifiquen les aplicacions d'escriptori. Molts programadors pensen que JFC i Swing són la mateixa cosa, però no és així. JFC conté Swing [Un paquet de components d'interfície d'usuari] i molts altres elements:

  • Retallar i enganxar: suport de porta-retalls.
  • Funcions d'accessibilitat: destinades a desenvolupar GUI per a usuaris amb discapacitat.
  • Les funcions de colors d'escriptori es van introduir per primera vegada a Java 1.1
  • Java 2D: té colors, imatges i suport de text millorats.

Característiques de la classe de swing

  • Aspecte i sensació endollables.
  • Utilitza l'arquitectura MVC.
  • Components lleugers
  • Plataforma Independent
  • Funcions avançades com JTable, JTabbedPane, JScollPane, etc.
  • Java és un llenguatge independent de la plataforma i s'executa a qualsevol màquina client, l'aspecte i la sensació de la GUI, propietat i lliurat per un sistema operatiu específic de la plataforma, simplement no afecta la GUI d'una aplicació construïda amb components Swing.
  • Components lleugers: Començant amb el JDK 1.1, el seu desenvolupament de components lleugers compatible amb AWT. Perquè un component es qualifica com a lleuger, no ha de dependre de cap classe de sistema que no sigui Java [basada en O/s]. Els components swing tenen la seva pròpia visió compatible amb les classes d'aspecte i sensació de Java.
  • Aspecte i sensació connectables: Aquesta característica permet a l'usuari canviar l'aspecte dels components Swing sense reiniciar una aplicació. La biblioteca Swing admet l'aspecte i la sensació dels components que segueixen sent els mateixos a totes les plataformes allà on s'executi el programa. La biblioteca Swing proporciona una API que ofereix una flexibilitat real per determinar l'aspecte de la GUI d'una aplicació.
  • Altament personalitzable - Els controls de swing es poden personalitzar d'una manera molt senzilla, ja que l'aspecte visual és independent de la representació interna.
  • Controls rics - Swing ofereix un conjunt ric de controls avançats com Tree TabbedPane, control lliscant, selector de colors i controls de taula.

Jerarquia de classes de swing

Jerarquia de classes de swing

La connexió MVC

  • En general, un component visual és un compost de tres aspectes diferenciats:
    1. La forma en què es veu el component quan es representa a la pantalla.
    2. La forma en què el component reacciona davant l'usuari.
    3. La informació d'estat associada al component.
  • Al llarg dels anys, l'arquitectura d'un component ha demostrat ser excepcionalment eficaç: Model-Vista-Controlador o MVC per breu.
  • En terminologia MVC, el model correspon a la informació d'estat associada al Component.
  • El vista determina com es mostra el component a la pantalla, inclosos els aspectes de la vista afectats per l'estat actual del model.
  • El controlador determina com reacciona el component davant l'usuari.

Els components Swing més senzills tenen capacitats molt més enllà dels components AWT de la següent manera:

  • Els botons i les etiquetes de swing poden mostrar imatges en comptes o a més del text.
  • Les vores al voltant de la majoria dels components Swing es poden canviar fàcilment. Per exemple, és fàcil posar una vora d'1 píxel al voltant de l'exterior d'una etiqueta Swing.
  • Els components del gronxador no han de ser rectangulars. Els botons, per exemple, poden ser rodons.
  • Ara, les últimes tecnologies assertives, com ara els lectors de pantalla, poden obtenir informació fàcilment dels components Swing. Exemple: una eina de lectura de pantalla pot capturar fàcilment el text que es mostra en un botó o etiqueta Swing.

Exemple de programes Java Swing

Exemple 1: Desenvolupa un programa amb l'etiqueta (swing) per mostrar el missatge GFG WEB Site Fes clic:

Java




css centrant una imatge

// Java program using label (swing)> // to display the message GFG WEB Site Click> import> java.io.*;> import> javax.swing.*;> // Main class> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating instance of JFrame> >JFrame frame =>new> JFrame();> >// Creating instance of JButton> >JButton button =>new> JButton(>' GFG WebSite Click'>);> >// x axis, y axis, width, height> >button.setBounds(>150>,>200>,>220>,>50>);> >// adding button in JFrame> >frame.add(button);> >// 400 width and 500 height> >frame.setSize(>500>,>600>);> >// using no layout managers> >frame.setLayout(>null>);> >// making the frame visible> >frame.setVisible(>true>);> >}> }>

>

>

Sortida:

Java Swing per imprimir el missatge i fer clic

Exemple 2: Escriu un programa per crear tres botons amb el títol D'acord, ENVIAR, CANCELAR.

Java


llista j



// Java program to create three buttons> // with caption OK, SUBMIT, CANCEL> import> java.awt.*;> class> button {> >button()> >{> >Frame f =>new> Frame();> >// Button 1 created> >// OK button> >Button b1 =>new> Button(>'OK'>);> >b1.setBounds(>100>,>50>,>50>,>50>);> >f.add(b1);> >// Button 2 created> >// Submit button> >Button b2 =>new> Button(>'SUBMIT'>);> >b2.setBounds(>100>,>101>,>50>,>50>);> >f.add(b2);> > >// Button 3 created> >// Cancel button> >Button b3 =>new> Button(>'CANCEL'>);> >b3.setBounds(>100>,>150>,>80>,>50>);> >f.add(b3);> >f.setSize(>500>,>500>);> >f.setLayout(>null>);> >f.setVisible(>true>);> >}> >public> static> void> main(String a[]) {>new> button(); }> }>

>

>

Sortida:

Afegiu botons al marc

Exemple 3: programa per afegir una casella de selecció al marc

Java




cadena a objecte json
// Java Swing Program to Add Checkbox> // in the Frame> import> java.awt.*;> // Driver Class> class> Lan {> >// Main Function> >Lan()> >{> >// Frame Created> >Frame f =>new> Frame();> >Label l1 =>new> Label(>'Select known Languages'>);> >l1.setBounds(>100>,>50>,>120>,>80>);> >f.add(l1);> >// CheckBox created> >Checkbox c2 =>new> Checkbox(>'Hindi'>);> >c2.setBounds(>100>,>150>,>50>,>50>);> >f.add(c2);> >// CheckBox created> >Checkbox c3 =>new> Checkbox(>'English'>);> >c3.setBounds(>100>,>200>,>80>,>50>);> >f.add(c3);> >// CheckBox created> >Checkbox c4 =>new> Checkbox(>'marathi'>);> >c4.setBounds(>100>,>250>,>80>,>50>);> >f.add(c4);> >f.setSize(>500>,>500>);> >f.setLayout(>null>);> >f.setVisible(>true>);> >}> >public> static> void> main(String ar[]) {>new> Lan(); }> }>

>

>

Sortida:

Afegeix la casella de selecció al marc

Components de Swing Class el percentatge de la tasca

Classe Descripció
Component Un component és la classe base abstracta per als controls d'interfície d'usuari que no són de menú de Java SWING. Els components representen un objecte amb una representació gràfica.
Contenidor Un contenidor és un component que pot contenir components Java SWING
JComponent Un JComponent és una classe base per a tots els components d'interfície d'usuari swing Per tal d'utilitzar un component swing que hereta de JComponent, el component ha d'estar en una jerarquia de contenció l'arrel de la qual és un contenidor Java Swing de nivell superior.
JLabel Un JLabel és un component d'objecte per col·locar text en un contenidor.
JButton Aquesta classe crea un botó etiquetat.
JColorChooser Un JColorChooser proporciona un panell de controls dissenyats per permetre a l'usuari manipular i seleccionar un color.
JCheckBox Un JCheckBox és un component gràfic (GUI) que pot estar en estat activat (vertader) o desactivat (fals).
JRadioButton La classe JRadioButton és un component gràfic (GUI) que pot estar en estat activat (vertader) o desactivat (fals). en el grup
JList Un component JList representa l'usuari amb la llista de desplaçament d'elements de text.
JComboBox Un component JComboBox presenta a l'usuari un menú d'opcions.
JTextField Un objecte JTextField és un component de text que permetrà l'edició d'una sola línia de text.
JPasswordField Un objecte JPasswordField és un component de text especialitzat per a l'entrada de contrasenyes.
JTextArea Un objecte JTextArea és un component de text que permet l'edició de diverses línies de text.
Imagelcon Un control ImageIcon és una implementació de la interfície d'icones que pinta icones a partir d'imatges
JScrollbar Un control JScrollbar representa un component de barra de desplaçament per tal de permetre als usuaris seleccionar entre valors d'interval.
JOptionPane JOptionPane proporciona un conjunt de quadres de diàleg estàndard que demanen als usuaris un valor o alguna cosa.
JFileChooser Un JFileChooser que controla representa una finestra de diàleg des de la qual l'usuari pot seleccionar un fitxer.
JProgressBar A mesura que la tasca avança cap a la finalització, la barra de progrés mostra el percentatge de tasques en finalitzar-la.
JSlides Un JSlider d'aquesta classe permet a l'usuari seleccionar gràficament (GUI) fent servir un valor fent lliscar un botó dins d'un interval limitat.
JSpinner Un JSpinner aquesta classe és una entrada d'una sola línia on el camp que permet a l'usuari seleccionar mitjançant un nombre o un valor d'objecte d'una seqüència ordenada.