logo

Introducción a Java Swing

Balancearse es una biblioteca Java Foundation Classes [JFC] y una extensión del Abstract Window Toolkit [AWT]. Java Swing ofrece una funcionalidad muy mejorada con respecto a AWT, nuevos componentes, funciones de componentes ampliadas y un excelente manejo de eventos con soporte para arrastrar y soltar.

Introducción de Java Swing

Swing tiene aproximadamente cuatro veces más componentes de interfaz de usuario [UI] que AWT y es parte de la distribución estándar de Java. Según los requisitos actuales de GUI de las aplicaciones, AWT es una implementación limitada, que no es capaz de proporcionar los componentes necesarios para desarrollar GUI complejas que se requieren en las aplicaciones comerciales modernas. El conjunto de componentes AWT tiene bastantes errores y consume muchos recursos del sistema en comparación con los recursos Swing equivalentes. Netscape presentó su biblioteca Internet Foundation Classes [IFC] para usar con Java. Sus clases se hicieron muy populares entre los programadores que creaban GUI para aplicaciones comerciales.



  • Swing es un conjunto de API (API- Conjunto de clases e interfaces)
  • Swing se proporciona para diseñar interfaces gráficas de usuario
  • Swing es una biblioteca de extensión para AWT (Abstract Window Toolkit) 5:00 – 5:30 pm
  • Incluye componentes nuevos y mejorados que han mejorado la apariencia y la funcionalidad de las GUI.
  • Swing se puede utilizar para crear (desarrollar) aplicaciones GUI independientes de swing como servlets y applets.
  • Emplea arquitectura de diseño de modelo/vista.
  • Swing es más portátil y más flexible que AWT, el Swing está construido sobre el AWT.
  • Swing está completamente escrito en Java.
  • Los componentes Java Swing son independientes de la plataforma y los componentes Swing son livianos.
  • Swing admite una apariencia y sensación conectables y Swing proporciona componentes más potentes.
  • como tablas, listas, paneles de desplazamiento, selector de color, panel con pestañas, etc.
  • Más swing sigue a MVC.

Diferencia entre Java Swing y Java AWT

Hay ciertos puntos en los que Java Swing es diferente de Java AWT como se menciona a continuación:

JavaAWT

Columpio Java



truncar y eliminar diferencia

Java AWT es una API para desarrollar aplicaciones GUI en Java.

Swing es parte de Java Foundation Classes y se utiliza para crear varias aplicaciones.

Los componentes de AWT son pesados.



Los componentes de Java Swing son livianos.

Los componentes dependen de la plataforma.

Los componentes son independientes de la plataforma.

El tiempo de ejecución es más que Swing.

El tiempo de ejecución es menor que AWT.

Los componentes de AWT requieren el paquete java.awt.

Los componentes Swing requieren el paquete javax.swing.

Para saber más sobre el tema, consulte Java Swing frente a Java AWT .

¿Qué es JFC?

JFC significa clases básicas de Java. JFC es el conjunto de componentes GUI que simplifican las aplicaciones de escritorio. Muchos programadores piensan que JFC y Swing son la misma cosa, pero no es así. JFC contiene Swing [un paquete de componentes de UI] y muchos otros elementos:

  • Cortar y pegar: Soporte para portapapeles.
  • Funciones de accesibilidad: Dirigidas al desarrollo de GUI para usuarios con discapacidades.
  • Las funciones de colores de escritorio se introdujeron por primera vez en Java 1.1
  • Java 2D: tiene soporte mejorado para colores, imágenes y texto.

Características de la clase de swing

  • Aspecto y sensación conectables.
  • Utiliza arquitectura MVC.
  • Componentes ligeros
  • Plataforma independiente
  • Funciones avanzadas como JTable, JTabbedPane, JScollPane, etc.
  • Java es un lenguaje independiente de la plataforma y se ejecuta en cualquier máquina cliente; la apariencia de la GUI, propiedad y entregada por un sistema operativo específico de la plataforma, simplemente no afecta la GUI de una aplicación construida con componentes Swing.
  • Componentes ligeros: Comenzando con JDK 1.1, su desarrollo de componentes livianos compatible con AWT. Para que un componente califique como liviano, no debe depender de ninguna clase de sistema que no sea Java [basado en O/s]. Los componentes Swing tienen su propia vista respaldada por las clases de apariencia y sensación de Java.
  • Aspecto y sensación conectables: Esta característica permite al usuario cambiar la apariencia de los componentes Swing sin reiniciar una aplicación. La biblioteca Swing admite la apariencia de los componentes que permanecen iguales en todas las plataformas dondequiera que se ejecute el programa. La biblioteca Swing proporciona una API que brinda flexibilidad real para determinar la apariencia de la GUI de una aplicación.
  • Altamente personalizable – Los controles de giro se pueden personalizar de una manera muy sencilla ya que la apariencia visual es independiente de la representación interna.
  • Controles ricos – Swing proporciona un amplio conjunto de controles avanzados como Tree TabbedPane, control deslizante, selector de color y controles de tabla.

Jerarquía de clases de swing

Jerarquía de clases de swing

La conexión MVC

  • En general, un componente visual es una combinación de tres aspectos distintos:
    1. La forma en que se ve el componente cuando se representa en la pantalla.
    2. La forma en que el componente reacciona ante el usuario.
    3. La información de estado asociada con el componente.
  • A lo largo de los años, la arquitectura de un solo componente ha demostrado ser excepcionalmente eficaz: – Modelo-Vista-Controlador o mvc para abreviar.
  • En terminología MVC, el modelo Corresponde a la información de estado asociada al Componente.
  • El vista Determina cómo se muestra el componente en la pantalla, incluido cualquier aspecto de la vista que se vea afectado por el estado actual del modelo.
  • El controlador Determina cómo reacciona el componente ante el usuario.

Los componentes Swing más simples tienen capacidades que van mucho más allá de los componentes AWT, como se muestra a continuación:

  • Los botones y etiquetas oscilantes pueden mostrar imágenes en lugar de texto o además de él.
  • Los bordes alrededor de la mayoría de los componentes Swing se pueden cambiar fácilmente. Por ejemplo, es fácil colocar un borde de 1 píxel alrededor del exterior de una etiqueta Swing.
  • Los componentes del columpio no tienen que ser rectangulares. Los botones, por ejemplo, pueden ser redondos.
  • Ahora, las últimas tecnologías asertivas, como los lectores de pantalla, pueden obtener fácilmente información de los componentes Swing. Ejemplo: una herramienta de lectura de pantalla puede capturar fácilmente el texto que se muestra en un botón o etiqueta de Swing.

Ejemplo de programas Java Swing

Ejemplo 1: Desarrollar un programa usando la etiqueta (swing) para mostrar el mensaje Haga clic en el sitio WEB de GFG:

Java




tipos de datos de referencia en java

// 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>);> >}> }>

>

>

Producción:

Java Swing para imprimir el mensaje y hacer clic

Ejemplo 2: escriba un programa para crear tres botones con el título Aceptar, ENVIAR, CANCELAR.

Java


mapa java



// 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(); }> }>

>

>

Producción:

Agregar botones en el marco

Ejemplo 3: Programa para agregar casilla de verificación en el marco

Java




// 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(); }> }>

atajos de teclado de Linux

>

>

Producción:

Agregar casilla de verificación en el marco

Componentes de Swing Class el porcentaje de la tarea

Clase Descripción
Componente Un componente es la clase base abstracta para los controles de interfaz de usuario que no son de menú de Java SWING. Los componentes representan un objeto con una representación gráfica.
Envase Un contenedor es un componente que puede contener componentes Java SWING.
JComponente Un JComponent es una clase base para todos los componentes de UI de swing. Para poder utilizar un componente swing que hereda de JComponent, el componente debe estar en una jerarquía de contención cuya raíz sea un contenedor Java Swing de nivel superior.
JLabel Un JLabel es un componente de objeto para colocar texto en un contenedor.
JBotón Esta clase crea un botón etiquetado.
JColorChooser Un JColorChooser proporciona un panel de controles diseñados para permitir al usuario manipular y seleccionar un color.
JCheckBox Un JCheckBox es un componente gráfico (GUI) que puede estar en estado activado (verdadero) o desactivado (falso).
JRadioBotón La clase JRadioButton es un componente gráfico (GUI) que puede estar en estado activado (verdadero) o desactivado (falso). en el grupo
Lista J Un componente JList representa al usuario con la lista desplegable de elementos de texto.
JComboBox Un componente JComboBox presenta al usuario un menú de opciones.
JTextField Un objeto JTextField es un componente de texto que permitirá la edición de una sola línea de texto.
Campo de contraseña J Un objeto JPasswordField es un componente de texto especializado para ingresar contraseñas.
JTextArea Un objeto JTextArea es un componente de texto que permite la edición de múltiples líneas de texto.
Imagenlcon Un control ImageIcon es una implementación de la interfaz Icon que pinta iconos a partir de imágenes.
Jbarra de desplazamiento Un control JScrollbar representa un componente de barra de desplazamiento para permitir a los usuarios seleccionar entre valores de rango.
Panel de opciones J JOptionPane proporciona un conjunto de cuadros de diálogo estándar que solicitan a los usuarios un valor o algo.
JFileChooser Un JFileChooser que controla representa una ventana de diálogo desde la cual el usuario puede seleccionar un archivo.
JProgressBar A medida que la tarea avanza hacia su finalización, la barra de progreso muestra el porcentaje de finalización de la tarea.
JDiapositivas Un JSlider de esta clase permite al usuario seleccionar gráficamente (GUI) utilizando un valor deslizando una perilla dentro de un intervalo limitado.
JSpinner Una clase JSpinner es una entrada de una sola línea donde se encuentra el campo que permite al usuario seleccionar usando un número o un valor de objeto de una secuencia ordenada.