Swing en Java: sepa cómo crear una GUI con ejemplos



: obtenga el concepto de swing en java con jerarquía de clases swing y administrador de diseño con una demostración práctica de la aplicación GUI.

Swing en Java es parte de la clase básica de Java, que es ligera e independiente de la plataforma. Se utiliza para crear aplicaciones basadas en ventanas. Incluye componentes como botón, barra de desplazamiento, campo de texto, etc. La combinación de todos estos componentes crea una interfaz gráfica de usuario. En este artículo, repasaremos los conceptos involucrados en el proceso de construcción de aplicaciones usando swing in . Los siguientes son los conceptos que se tratan en este artículo:

¿Qué es Swing en Java?

Swing en Java es un kit de herramientas de GUI ligero que tiene una amplia variedad de widgets para crear aplicaciones optimizadas basadas en ventanas. Es parte de JFC (Java Foundation Classes). Está construido sobre la API de AWT y completamente escrito en . Es independiente de la plataforma a diferencia de AWT y tiene componentes livianos.





Es más fácil construir aplicaciones ya que tenemos componentes GUI como botones, casillas de verificación, etc. Esto es útil porque no tenemos que empezar desde cero.

Clase de contenedor

Ninguna que tiene otros componentes se llama una clase de contenedor. Para crear aplicaciones GUI, es necesaria al menos una clase de contenedor.



A continuación, se muestran los tres tipos de clases de contenedores:

  1. Panel: se utiliza para organizar componentes en una ventana.

  2. Marco: una ventana completamente funcional con iconos y títulos



  3. Diálogo: es como una ventana emergente pero no es completamente funcional como el marco.

Diferencia entre AWT y Swing

AWT COLUMPIO
  • Depende de la plataforma
  • Plataforma independiente
  • No sigue MVC
  • Sigue MVC
  • Componentes menores
  • Componentes más potentes
  • No es compatible con el aspecto y la sensación enchufables
  • Admite apariencia y sensación conectables
  • De peso pesado
  • Ligero

Jerarquía de clases de Java Swing

oscilación de jerarquía en java-edureka

Explicación : Todos los componentes en swing como JButton, JComboBox, JList, JLabel se heredan de la clase JComponent que se puede agregar a las clases contenedoras. Los contenedores son las ventanas como marcos y cuadros de diálogo. Los componentes básicos de swing son los componentes básicos de cualquier aplicación de interfaz gráfica de usuario. Métodos como setLayout anulan el diseño predeterminado en cada contenedor. Los contenedores como JFrame y JDialog solo pueden agregar un componente a sí mismos. A continuación se muestran algunos componentes con ejemplos para comprender cómo podemos usarlos.

Clase JButton

Se utiliza para crear un botón etiquetado. El uso de ActionListener dará lugar a alguna acción cuando se presione el botón. Hereda la clase AbstractButton y es independiente de la plataforma.

Ejemplo:

import javax.swing. * ejemplo de clase pública {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 (nulo) a.setVisible (verdadero)}}

Salida:

es un posgrado de maestría

Clase JTextField

Hereda la clase JTextComponent y se utiliza para permitir la edición de texto de una sola línea.

Ejemplo:

import javax.swing. * ejemplo de clase pública {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 (nulo) a.setVisible (verdadero)}}

Salida:

JScrollBar (clase)

Se utiliza para agregar una barra de desplazamiento, tanto horizontal como vertical.

Ejemplo:

import javax.swing. * class example {example () {JFrame a = new JFrame ('example') JScrollBar b = new JScrollBar () b.setBounds (90,90,40,90) a.add (b) a. setSize (300,300) a.setLayout (nulo) a.setVisible (true)} public static void main (String args []) {nuevo ejemplo ()}}

Salida:

Clase JPanel

Hereda la clase JComponent y proporciona espacio para una aplicación que puede adjuntar cualquier otro componente.

sobrecarga de funciones en el ejemplo de c ++
import java.awt. * import javax.swing. * public class Example {Example () {JFrame a = new JFrame ('example') JPanel p = new JPanel () p.setBounds (40,70,200,200) JButton b = new JButton ('haz clic en mí') b.setBounds (60,50,80,40) p.add (b) a.add (p) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} public static void main (String args []) {nuevo Ejemplo ()}}

Salida:

JMenu Clas s

Hereda la clase JMenuItem y es un componente de menú desplegable que se muestra en la barra de menú.

import javax.swing. * class Ejemplo {Menú JMenu JMenuItem a1, a2 Example () {JFrame a = new JFrame ('Ejemplo') menu = new JMenu ('opciones') JMenuBar m1 = new JMenuBar () a1 = new JMenuItem ( 'ejemplo') a2 = new JMenuItem ('ejemplo1') menu.add (a1) menu.add (a2) m1.add (menú) a.setJMenuBar (m1) a.setSize (400,400) a.setLayout (nulo) a .setVisible (true)} public static void main (String args []) {new Example ()}}

Salida:

Clase JList

Hereda la clase JComponent, el objeto de la clase JList representa una lista de elementos de texto.

import javax.swing. * public class Ejemplo {Example () {JFrame a = new JFrame ('ejemplo') DefaultListModel l = new DefaultListModel () l.addElement ('primer elemento') l.addElement ('segundo elemento') JList b = new JList (l) b.setBounds (100,100,75,75) a.add (b) a.setSize (400,400) a.setVisible (true) a.setLayout (null)} public static void main (String args [ ]) {nuevo Ejemplo ()}}

Salida:

Clase JLabel

Se utiliza para colocar texto en un contenedor. También hereda la clase JComponent.

import javax.swing. * public class Ejemplo {public static void main (String args []) {JFrame a = new JFrame ('ejemplo') JLabel b1 b1 = new JLabel ('edureka') b1.setBounds (40,40, 90,20) a.add (b1) a.setSize (400,400) a.setLayout (nulo) a.setVisible (verdadero)}}

Salida:

Clase JComboBox

Hereda la clase JComponent y se usa para mostrar el menú emergente de opciones.

preguntas de la entrevista c ++ stl
import javax.swing. * public class Example {JFrame a Example () {a = new JFrame ('example') string fields [] = {'core java', 'advance java', 'java servlet'} JComboBox c = new JComboBox (cursos) c.setBounds (40,40,90,20) a.add (c) a.setSize (400,400) a.setLayout (nulo) a.setVisible (true)} public static void main (String args [] ) {nuevo Ejemplo ()}}

Salida:

Administrador de diseño

Para organizar los componentes dentro de un contenedor, usamos el administrador de diseño. A continuación se muestran varios administradores de diseño:

  1. Diseño de borde

  2. Diseño de flujo

  3. Diseño de GridBag

Diseño de borde

El administrador de diseño predeterminado para cada JFrame es BorderLayout. Coloca componentes en hasta cinco lugares que son arriba, abajo, izquierda, derecha y centro.

Diseño de flujo

FlowLayout simplemente coloca los componentes en una fila uno tras otro, es el administrador de diseño predeterminado para cada JPanel.

Diseño GridBag

GridBagLayout coloca los componentes en una cuadrícula que permite que los componentes abarquen más de una celda.

Ejemplo: marco de chat

import javax.swing. * import java.awt. * class Ejemplo {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 ('Abrir ') JMenuItem m22 = new JMenuItem (' Guardar como ') ob1.add (m11) ob1.add (m22) JPanel panel = new JPanel () // el panel no es visible en la salida JLabel label = new JLabel (' Enter Text ') JTextField tf = new JTextField (10) // acepta hasta 10 caracteres JButton send = new JButton (' Enviar ') JButton reset = new JButton (' Reset ') panel.add (label) // Componentes agregados usando el panel Flow Layout .add (etiqueta) // Componentes agregados usando el panel de diseño de flujo.add (tf) panel.add (enviar) panel.add (restablecer) JTextArea ta = new JTextArea () frame.getContentPane (). add (BorderLayout.SOUTH, panel ) frame.getContentPane (). add (BorderLayout.NORTH, tf) frame.getContentPane (). add (Border Layout.CENTER, ta) frame.setVisible (true)}}

Este es un ejemplo simple para crear una GUI usando swing en Java.

En este artículo hemos discutido el swing en Java y la jerarquía de las clases swing de Java. Con todos los componentes que vienen con swing en Java, resulta más fácil crear aplicaciones de GUI optimizadas. El lenguaje de programación Java es un lenguaje de programación estructurado y con la creciente demanda se vuelve extremadamente importante dominar todos los conceptos en . Para iniciar su aprendizaje y convertirse en un experto en programación Java, inscríbase en Edureka .

Tienes una pregunta para nosotros? mencione esto en la sección de comentarios de este artículo de 'Swing In Java' y nos comunicaremos con usted lo antes posible.