Programació

Tutorial de Java Swing: exemples per crear una GUI

30 d'octubre de 2021

Un dels llenguatges de programació més admirats i utilitzats per desenvolupar aplicacions web Java . Podeu escriure el codi en una plataforma en el llenguatge de programació Java i executar-lo a qualsevol lloc de qualsevol plataforma. Segueix el principi del WORA (Write Once, Run Anywhere). El llenguatge de programació Java és un dels més flexibles, basat en classes , i orientat a objectes llengües. Aquesta publicació veurà el tutorial de Java Swing, que us ajudarà a dissenyar la interfície gràfica d'usuari per a qualsevol aplicació de lloc web.

Taula de continguts

Què és Java Swing?

A Interfaç gràfica d'usuari (GUI) per al llenguatge de programació Java és el Swing de Java . Podeu crear la interfície gràfica d'usuari a Java mitjançant Java Swing. El conjunt d'eines Java Swing pertany a Oracle Classes de la Fundació Java (JFC) . La Java Foundation Class (JFC) és un interfície de programa d'aplicació (API) que ofereix una GUI per crear aplicacions Java.

Abans, s'utilitzava el llenguatge Java Kit d'eines de la finestra abstracta (AWT) per desenvolupar la interfície gràfica d'usuari d'aplicacions web. Igual que el conjunt d'eines Swing, el conjunt d'eines de la finestra abstracta també pertany a la Java Foundation Class (JFC) d'Oracle. El conjunt d'eines Java Swing és un conjunt d'eines més flexible i millorat que el conjunt d'eines de la finestra abstracta per desenvolupar GUI. Els components presents al conjunt d'eines Java Swing són més manejables i robustos que el conjunt d'eines AWT.

Una de les diferències principals entre Java Swing i AWT és que els components de Java Swing són independents de la plataforma i estan totalment codificats en Java. Al contrari, els components AWT no són independents de la plataforma; en canvi, es codifiquen al codi específic de la plataforma. L'altra diferència entre Java Swing i AWT és que el conjunt d'eines Java Swing ofereix alguns components addicionals que el conjunt d'eines AWT, com ara arbres, taules, panells de desplaçament i panells amb pestanyes.

Java Swing es basa en l'arquitectura Model-View-Controller. La idea fonamental d'aquesta arquitectura és que classifica els components de Java Swing en tres elements diferents. Aquests elements són Model, View i Controller.

El primer element, Model, conté les dades d'un component Java Swing concret. A continuació, l'element de vista mostra la representació visual de les dades presents a l'element Model. Finalment, el controlador permet als usuaris introduir l'entrada a l'element de vista i el resultat es reflecteix en aquest element. L'element model de l'MVC està present per separat, mentre que els elements de vista i controlador es combinen.

Característiques de Java Swing

A continuació es mostren algunes característiques significatives de Java Swing.

    Independent de la plataforma:

Els components de Java Swing són independents de la plataforma. No requereixen cap codi específic per executar-se en una plataforma determinada. Per tant, podeu utilitzar components de la GUI de Java Swing a qualsevol plataforma des de qualsevol lloc.

    Pes lleuger:

Una altra característica dels components Java Swing és que són lleugers. Per tant, la interfície gràfica d'usuari de qualsevol aplicació web també es torna lleugera. Tots els elements de Java Swing estan codificats en llenguatge Java.

    Model-View-Controller (MVC):

Tots els components de Java Swing s'agrupen en tres elements, Model, Vista i Controlador. L'arquitectura MVC és excepcionalment beneficiosa i avantatjosa. Si voleu modificar un sol component, no afectarà els altres membres. Per tant, aquesta arquitectura es coneix com a arquitectura poc acoblada.

    Personalitzable:

Els components de Java Swing es poden personalitzar. En altres paraules, podeu canviar els components segons les vostres necessitats. També podeu canviar l'aspecte dels components amb facilitat. Un altre avantatge de Java Swing és que podeu canviar l'aspecte en temps d'execució.

    Gestionable i accessible:

Java Swing és molt flexible i manejable. Permet qualsevol modificació durant el temps d'execució. Podeu modificar la interfície gràfica d'usuari sense realitzar cap canvi al codi de l'aplicació.

Diferència entre Java Swing i Abstract Window Toolkit

Vegem com es diferencien el conjunt d'eines Java Swing i Abstract Window.

Swing de Java Kit d'eines Java Abstract Window
Tots els components del conjunt d'eines Java Swing són independents de la plataforma.Els components presents al kit d'eines de la finestra abstracta no són independents de la plataforma. S'implementen en el codi específic de la plataforma.
Els components del conjunt d'eines Java Swing són lleugers.El kit d'eines de la finestra abstracta té components relativament més pesats que Java Swing.
Els components Java Swing estan presents al paquet javax.swing.Els components del kit d'eines de la finestra abstracta estan presents al paquet java.awt.
Els components Java Swing proporcionen un aspecte i una sensació connectables de la GUI.Els components del kit d'eines de la finestra abstracta no ofereixen cap aspecte connectable per a la GUI.
Té un conjunt de components més avançat i flexible, com ara taules, llistes, panells amb pestanyes, etc.Aquest conjunt d'eines té components limitats.
Java Swing es basa en el Model View Controller (MVC) patró.El kit d'eines de la finestra abstracta no admet el patró MVC.
Els components Java Swing triguen menys temps a executar-se.Els components del kit d'eines de la finestra abstracta triguen relativament més temps a executar-se que Java Swing.
Els components d'aquest conjunt d'eines ocupen menys espai de memòria.Aquests components ocupen menys espai de memòria.

Fins ara, hem vist Java Swing, les seves característiques i la diferència entre dos conjunts d'eines java per a la implementació de la GUI. La implementació d'aquests conjunts d'eines només és possible si teniu una configuració completa de Java al vostre escriptori. La secció següent us ajudarà a configurar l'entorn Java als nostres escriptoris Windows 2000/XP.

Configuració de la ruta de Java per a Windows 2000/XP

En primer lloc, heu de descarregar Java SE des de l'enllaç Arxiu d'Oracle Java . Has de triar el Java SE versió compatible amb el vostre sistema operatiu. Després de descarregar el Java SE, heu d'executar el fitxer .exe i instal·lar Java a l'escriptori de Windows. Però, podeu executar qualsevol codi mitjançant aquests passos. Heu d'establir el camí de les variables ambientals a l'executable Java. Els passos següents us guiaran per configurar la ruta de Java per a Windows.

Suposem que heu instal·lat Java SE i que està present al directori, c:Program Filesjavajdk. Comenceu a configurar el camí per a Java.

  1. A la pantalla de l'escriptori, seleccioneu 'El meu ordinador'. Després d'això, feu clic amb el botó dret del ratolí i seleccioneu 'Propietats'.
  2. Més tard, feu clic a 'Configuració avançada del sistema' i una pantalla mostrarà un camp per a 'Variables ambientals'.
  3. A 'Variables ambientals', seleccioneu 'Camí'. En aquest camp notareu un altre camí predeterminat. Cal canviar-ho.
  4. Suposem que el camí actual és 'C:WINDOWSSYSTEM2', l'has de canviar a 'C:WINDOWSSYSTEM2;c:Program Filesjavajdkin'.

El vostre camí està definit i podeu executar qualsevol codi Java còmodament a l'escriptori mitjançant l'indicador d'ordres.

Com executar el programa Java a Windows?

Un cop hàgiu establert el camí per a les variables ambientals, la vostra configuració per executar qualsevol codi Java està a punt. Com executar codi Java després de configurar les variables ambientals?

  1. Escriu el teu codi Java en editors de text, com ara Bloc de notes , Netbeans , i Eclipsi , i deseu el fitxer amb l'extensió .java.
  2. El més important que heu de recordar quan deseu el fitxer Java és que el nom del fitxer i la classe pública haurien de tenir el mateix nom esmentat al vostre codi.
  3. Després d'escriure el codi i desar el fitxer, aneu al directori on heu desat el fitxer i obriu el fitxer indicador d'ordres .
  4. Ara, heu de compilar el codi del fitxer amb el ' javac ’ paraula clau. Introduïu 'javac filename.java'. Si hi ha errors, es mostra immediatament. O bé, heu d'executar el codi.
  5. Per executar el fitxer java, heu d'introduir 'java filename.java'.
  6. El resultat del vostre codi es mostrarà a la pantalla. Si el vostre codi inclou una GUI, s'obre una pestanya independent que mostra la GUI.

Aspectes de la GUI de Java

La interfície gràfica d'usuari de Java té tres aspectes significatius, com segueix:

    Elements de la IU:

Els elements de la interfície d'usuari són els components necessaris desenvolupar la GUI de qualsevol web aplicació. Els elements de la IU representen la representació visual del codi. Hi ha diversos elements de la interfície d'usuari de Java al Java Swing, com ara taules, llistes, panells amb pestanyes, etc.

    Disseny:

Aquest aspecte de la GUI de Java implica com s'han de col·locar els elements de la interfície d'usuari a la pantalla. En altres paraules, com serà la GUI de qualsevol aplicació web?

    Comportament:

El comportament és l'esdeveniment provocat quan l'usuari fa clic a qualsevol element de la IU. Per exemple, si un botó té el text 'Iniciar sessió', inicieu la sessió en un lloc web concret cada cop que feu clic a aquest botó.

Classes en Java Swing GUI

El paquet que s'ha d'incloure en qualsevol codi java per crear la GUI de qualsevol aplicació web és el paquet javax.swing. Conté totes les classes i els elements d'IU necessaris per crear la GUI. Vegem algunes classes significatives del Java Swing.

    Classe de components:

La classe de components del Java Swing és la superclasse dels components no relacionats amb el menú de l'Abstract Window Toolkit. Hi ha dos tipus diferents de components, lleugers i pesats. El component lleuger està present a la seva finestra nativa, mentre que el component pesat no està present a la finestra nativa. Feu-nos saber com es declara la classe de components.

|_+_|

Podeu crear un component nou utilitzant la classe de constructor, anomenada Component protegit().

    Classe de contenidor:

Un contenidor és una combinació de tots els components. Podeu veure dos tipus de contenidors diferents, contenidors de nivell superior i contenidors de nivell baix. Al contenidor de baix nivell, els components presents són més pesats, com ara JPanel, JFrame, JDialog, JApplet i JWindow. El contenidor de nivell superior té components, com JPanel, que és lleuger. La sintaxi següent us mostra com es declara el contenidor.

|_+_|

La classe de constructor utilitzada per crear un nou contenidor és Container().

Hi ha tres components principals de la classe contenidor, JFrame, JApplet i JPanel.

La classe JFrame és el component del contenidor de nivell superior del Java Swing. Actua com una pantalla per a tots els altres components de baix nivell, com ara botons, camps de text, etiquetes, botons de ràdio, etc. Sempre que necessiteu crear un marc nou, heu d'utilitzar JFrame().

Els applets són programes que es poden executar en navegadors web. Cada applet de Java té un cicle de vida que consisteix en mètodes init, start, stop, destroy i paint. Els applets es poden escriure en qualsevol altre llenguatge de programació i executar-se en el Màquina virtual Java (JVM) . La classe JApplet s'utilitza per representar la funció Applet.

Un altre component principal de la classe Container és JPanel. Aquest component s'utilitza per gestionar i organitzar tots els altres components i dissenys. La funció JPanel() s'utilitza per crear un nou panell a la GUI de Java Swing.

    Classe JComponent:

La classe més fonamental del Java Swing és la classe JComponent. Inclou tots els components Java Swing, excepte tots els components presents al contenidor de nivell superior. En altres paraules, els components que comencen els seus noms amb J són descendents de la classe JComponent. Alguns exemples de la classe JComponent són JButton, JScroolPane, JTable, etc. Les següents línies de codi mostren la declaració de la classe JComponent.

|_+_|

La classe constructora utilitzada per crear la classe JComponent és JComponent().

Codi de mostra de la GUI de Java Swing per crear Frame

Veurem un codi Java que crearà un Frame.

|_+_|

Es crea el marc d'amplada 400 i longitud de 400. El títol del marc és Aquest és un exemple de creació de Frame. Podeu afegir qualsevol altre component de baix nivell al marc.

Sortida:

Swing de Java

Components de la GUI de Java Swing

Hi ha diversos components de la GUI Java Swing presents a la classe de contenidor. El segment de l'article següent us orientarà sobre com fer una GUI a Java amb components. Vegem cada component de la GUI de Java Swing de baix nivell en detall amb exemples.

    JLabel:

Utilitzem el component JLabel per mostrar el text o la imatge al marc. Per defecte, el text que introduïm per a l'etiqueta s'alinea verticalment a la posició central. El constructor JLabel() s'utilitza per crear una etiqueta.

Declaració JLabel:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java mitjançant JLabel:

|_+_|

Sortida:

swing java
    JButton:

Un altre component és JButton, que crea botons a la pantalla. També podeu etiquetar un botó i afegir un esdeveniment per dur a terme una funció específica cada cop que es fa clic. El constructor utilitzat per crear un botó nou és JButton().

Declaració JButton:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java mitjançant JButton:

|_+_|

Sortida:

img 617dd25188b4e
    JColorChooser:

El component JColorChooser s'utilitza per canviar o seleccionar un color de la paleta de colors. Crea un quadre de diàleg. Si utilitzeu el constructor, JColorChooser(), el color per defecte és el blanc. Per utilitzar el color especificat, podeu utilitzar el constructor JColorChooser(Color initialColor).

Declaració JColorChooser:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java mitjançant JColorChooser:

|_+_|

Sortida:

Quan feu clic al botó anomenat 'color', apareix la segona finestra que mostra els colors.

img 617dd251e04b7
    JCheckBox:

JCheckBox és un altre component de la GUI de Java Swing, que permet als usuaris seleccionar i deseleccionar múltiples opcions. Té un estat anomenat 'activat' o 'desactivat'. Quan l'usuari fa clic amb el botó dret a la casella de selecció, l'estat canvia a 'activat'. La classe de constructor utilitzada per crear caselles de selecció és JCheckBox(). Podeu seleccionar diverses caselles de selecció segons els vostres requisits.

Declaració JCheckBox:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java mitjançant JCheckBox:

|_+_|

Sortida:

img 617dd2529f3c5
    JRadioButton:

Veiem botons de ràdio en moltes formes o aplicacions. S'utilitza especialment per seleccionar el gènere, la dona o l'home. Quan només s'ha de triar una opció entre múltiples possibilitats, s'utilitza el botó de ràdio. La classe constructora per crear botons de ràdio és JRadioButton(). Només podeu triar un botó de ràdio alhora.

Declaració de JRadioButton:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java mitjançant JRadioButton:

|_+_|

Sortida:

img 617dd252e5107
    Llista J:

Un altre component de la GUI de Java Swing és el JList. Si voleu mostrar una llista d'elements, heu d'utilitzar el component JList. Igual que el JCheckbox, el component JList permet als usuaris triar diversos elements de la llista. El constructor JList() s'utilitza per crear una llista buida. Un altre constructor, JList(Object[] listData), crea una llista dels elements de la matriu.

Declaració JList:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java mitjançant JList:

|_+_|

Sortida:

img 617dd25356b78
    JComboBox:

Moltes vegades és necessari incloure una llista desplegable. El JCombBox és una combinació d'un camp editable i una llista. Quan l'usuari tria una cosa de la llista desplegable, es reflecteix en una àrea editable. Només es pot seleccionar una cosa de la llista. El constructor JComboBox(Object[] items) crea una llista desplegable amb els elements de la matriu.

Declaració JComboBox:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java mitjançant JComboBox:

|_+_|

Sortida:

img 617dd253be6ed
    JTextField:

El component JTextField de la GUI de Java Swing permet als usuaris modificar o editar una única línia de text. Està present en diversos formularis i s'utilitza generalment per introduir noms en una sola barra. El constructor, JTextField() crea una barra o un camp de text buit. Si voleu tenir algunes paraules a la vostra barra de text, podeu utilitzar el constructor, JTextField(String text).

Declaració JTextField:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java utilitzant JTextFeild:

|_+_|

Sortida:

img 617dd25422c01
    JTextArea:

El component JTextArea Java Swing GUI és similar al component JTextField. Quan necessiteu introduir diverses línies de text, s'utilitza el component JTextArea. Per contra, el component JTextField només permet introduir un text de línia. Si voleu crear una àrea de text buida, utilitzeu el constructor JTextArea().

Declaració JTextArea:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java utilitzant JTextArea:

|_+_|

Sortida:

img 617dd2548c3ef
    JPasswordField:

Un dels components únics i extraordinaris de la GUI de Java Swing és el component JPasswordField. Actualment, les contrasenyes són necessàries a tot arreu, mentre inicieu sessió a qualsevol lloc web, accediu a qualsevol aplicació, etc. Per tant, el JPasswordField incorpora una funció de contrasenya. El constructor predeterminat utilitzat per crear camps de contrasenya és JPasswordField().

Declaració de JPasswordField:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java mitjançant JPasswordField:

|_+_|

Sortida:

img 617dd25503a72
    JScrollBar:

El component JScrollBar de la GUI de Java Swing s'utilitza amb finalitats de desplaçament. Els usuaris poden inserir la barra de desplaçament verticalment i horitzontalment. El constructor utilitzat per crear la barra de desplaçament amb valors inicials és JScrollBar(). Si voleu canviar l'orientació, heu d'especificar-la, com ara JScrollBar (orientació int).

Declaració JScrollBar:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java mitjançant JScrollBar:

|_+_|

Sortida:

img 617dd25542810
    JProgressBar:

Un altre component Java Swing present a la classe Container és JProgressBar. Mostra el progrés en percentatge. Un dels exemples habituals d'ús del component JProgressBar és mostrar el percentatge de bateria dels telèfons mòbils. JProgressBar(int min, int max) és un constructor que genera una barra horitzontal amb uns valors mínims i màxims especificats.

Declaració JProgressBar:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java utilitzant JProgressBar:

|_+_|

Sortida:

img 617dd25585524
    JSlider:

El component JSlider de la GUI de Java Swing genera un control lliscant horitzontal que s'utilitza per seleccionar el valor entre el valor de l'interval especificat. El constructor JSlider() produeix un control lliscant amb valors predeterminats que oscil·len entre 0 i 0 100, i el valor inicial és 50.

Declaració JSlider:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java mitjançant JSlider:

|_+_|

Sortida:

img 617dd255cab41
    JSpinner:

Un altre component Java Swing per triar valors entre l'interval especificat és el JSpinner. Aquest component crea un filador que permet als usuaris seleccionar qualsevol quantitat determinada entre els límits especificats. JSpinner() genera un spinner amb valors que van des de 0 fins a cap límit.

Declaració de JSpinner:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java mitjançant JSpinner:

|_+_|

Sortida:

img 617dd25650247
    JOptionPane:

Si voleu que aparegui un quadre de diàleg a la pantalla després de fer clic a qualsevol botó, s'utilitza el component JOPtionPane. Quan utilitzeu el component JOptionPane, apareix un quadre de diàleg amb un missatge especificat. El constructor JOptionPane crea un quadre de diàleg amb un quadre de text. Per afegir una nota concreta al quadre de diàleg, utilitzeu JOptionPane(Missatge d'objecte).

Declaració JOptionPane:

|_+_|

Finestra de la interfície d'usuari del codi de mostra de Java mitjançant JOptionPane:

|_+_|

Sortida:

img 617dd256d0232

Conclusió

Java és el llenguatge de programació flexible i independent de la plataforma. El paquet Java Swing s'utilitza per crear la interfície gràfica d'usuari de qualsevol aplicació web o lloc web. Hem parlat del paquet Java Swing, les seves característiques i la diferència entre l'Abstract Windows Toolkit (AWT) i Java Swing.

Més tard, vam veure tres classes de Java Swing diferents, Classe de components, Classes de contenidors i Classes JComponent. El codi d'exemple de Java per a la classe JFrame mostra com crear marcs en Java.

Finalment, hem passat per alguns elements importants de la GUI de Java Swing, les seves declaracions i els seus respectius exemples. Cada component de la GUI de Java Swing s'explica bé amb un exemple detallat. Aquest article és una guia completa per als principiants de Java Swing.