Tutorial de Java Swing: Cómo crear una GUI en Java con ejemplos

Tabla de contenido:

Anonim

¿Qué es Swing en Java?

Swing en Java es un conjunto de herramientas de interfaz gráfica de usuario (GUI) que incluye los componentes de la GUI. Swing proporciona un amplio conjunto de widgets y paquetes para crear sofisticados componentes GUI para aplicaciones Java. Swing es parte de Java Foundation Classes (JFC), que es una API para programas Java que proporcionan GUI.

La biblioteca Java Swing está construida sobre Java Abstract Widget Toolkit ( AWT ), un juego de herramientas GUI dependiente de la plataforma más antiguo. Puede utilizar los componentes de programación de la GUI de Java como botón, cuadro de texto, etc. de la biblioteca y no tiene que crear los componentes desde cero.

En este tutorial de Java Swing, aprenderá:

  • ¿Qué es Swing en Java?
  • ¿Qué es una clase de contenedor?
  • ¿Qué es la GUI en Java?
  • Ejemplo de GUI de Java
  • Administrador de diseño de Java
  • Java BorderLayout
  • Java FlowLayout
  • Java GridBagLayout

Diagrama de jerarquía de clases de Java Swing

Diagrama de jerarquía de clases de Java Swing

Todos los componentes de Java Swing son JComponent que se pueden agregar a clases de contenedor.

¿Qué es una clase de contenedor?

Las clases de contenedor son clases que pueden tener otros componentes. Entonces, para crear una GUI de Java, necesitamos al menos un objeto contenedor. Hay 3 tipos de contenedores Java Swing.

  1. Panel : Es un contenedor puro y no es una ventana en sí mismo. El único propósito de un Panel es organizar los componentes en una ventana.
  2. Marco : Es una ventana en pleno funcionamiento con su título e íconos.
  3. Cuadro de diálogo : se puede considerar como una ventana emergente que aparece cuando se debe mostrar un mensaje. No es una ventana en pleno funcionamiento como Frame.

¿Qué es la GUI en Java?

GUI (Graphical User Interface) en Java es un generador de experiencia visual fácil de usar para aplicaciones Java. Se compone principalmente de componentes gráficos como botones, etiquetas, ventanas, etc. a través de los cuales el usuario puede interactuar con una aplicación. La GUI juega un papel importante para construir interfaces fáciles para aplicaciones Java.

Ejemplo de GUI de Java

Ahora, en este tutorial de Swing Java, entendamos la GUI con ejemplos de Java Swing.

Ejemplo : para aprender la programación de la GUI de Java en este tutorial de la GUI de Java Paso 1) Copie el siguiente código en un editor

import javax.swing.*;class gui{public static void main(String args[]){JFrame frame = new JFrame("My First GUI");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,300);JButton button = new JButton("Press");frame.getContentPane().add(button); // Adds Button to content pane of frameframe.setVisible(true);}}

Paso 2) Guarde, compile y ejecute el código.Paso 3) Ahora agreguemos un botón a nuestro marco. Copie el siguiente código en un editor de un ejemplo de GUI de Java dado

import javax.swing.*;class gui{public static void main(String args[]){JFrame frame = new JFrame("My First GUI");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,300);JButton button1 = new JButton("Press");frame.getContentPane().add(button1);frame.setVisible(true);}}

Paso 4) Ejecute el código. Obtendrás un gran botón

Paso 5) ¿Qué tal si agregas dos botones? Copie el siguiente código en un editor.

import javax.swing.*;class gui{public static void main(String args[]){JFrame frame = new JFrame("My First GUI");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,300);JButton button1 = new JButton("Button 1");JButton button2 = new JButton("Button 2");frame.getContentPane().add(button1);frame.getContentPane().add(button2);frame.setVisible(true);}}

Paso 6) Guarde, compile y ejecute el programa.Paso 7) Salida inesperada =? Los botones se superponen.

Administrador de diseño de Java

El administrador de diseño se utiliza para diseñar (u organizar) los componentes de Java GUI dentro de un contenedor. Hay muchos administradores de diseño, pero los más utilizados son:

Java BorderLayout

A BorderLayoutcoloca componentes en hasta cinco áreas: superior, inferior, izquierda, derecha y central. Es el administrador de diseño predeterminado para cada java JFrame

Java FlowLayout

FlowLayoutes el administrador de diseño predeterminado para cada JPanel. Simplemente coloca los componentes en una sola fila, uno tras otro.

Java GridBagLayout

Es el más sofisticado de todos los diseños. Alinea los componentes colocándolos dentro de una cuadrícula de celdas, lo que permite que los componentes abarquen más de una celda.

Paso 8) ¿Qué tal crear un marco de chat como el siguiente?

Intente codificarse usted mismo antes de mirar el programa a continuación.

//Usually you will require both swing and awt packages// even if you are working with just swings.import javax.swing.*;import java.awt.*;class gui {public static void main(String args[]) {//Creating the FrameJFrame frame = new JFrame("Chat Frame");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 400);//Creating the MenuBar and adding componentsJMenuBar mb = new JMenuBar();JMenu m1 = new JMenu("FILE");JMenu m2 = new JMenu("Help");mb.add(m1);mb.add(m2);JMenuItem m11 = new JMenuItem("Open");JMenuItem m22 = new JMenuItem("Save as");m1.add(m11);m1.add(m22);//Creating the panel at bottom and adding componentsJPanel panel = new JPanel(); // the panel is not visible in outputJLabel label = new JLabel("Enter Text");JTextField tf = new JTextField(10); // accepts upto 10 charactersJButton send = new JButton("Send");JButton reset = new JButton("Reset");panel.add(label); // Components Added using Flow Layoutpanel.add(tf);panel.add(send);panel.add(reset);// Text Area at the CenterJTextArea ta = new JTextArea();//Adding Components to the frame.frame.getContentPane().add(BorderLayout.SOUTH, panel);frame.getContentPane().add(BorderLayout.NORTH, mb);frame.getContentPane().add(BorderLayout.CENTER, ta);frame.setVisible(true);}}