Introducción a JTabbedPane en Java

La clase JTabbedPane es una de las muchas clases (como JButton, JTextArea, JMenu, JTextField, etc.) que el paquete java 'javax.swing' proporciona para las API de Java Swing.

El paquete Java Swing es parte de las clases básicas de Java, JFC. Estas clases básicas se utilizan para crear interfaces gráficas de usuario, aplicaciones basadas en ventanas que utilizan componentes GUI disponibles, lo que facilita que un programador desarrolle aplicaciones de escritorio. Están escritos completamente en la parte superior de Java de AWT, Abstract Windows Toolkit.

Pero a diferencia de AWT, los paquetes Java Swing proporcionan componentes independientes de la plataforma. Estos componentes también son comparativamente ligeros.

Al final de este artículo, podrá agregar Swing JComponents como JTabbedPane en un contenedor AWT. También podrá establecer la posición de su panel y marco. También aprenderá a crear un panel de pestañas desplazable.

¿Qué es JTabbedPane?

JTabbedPane es una de las clases proporcionadas por el paquete swing en java. Es muy útil, ya que proporciona la flexibilidad para que el usuario cambie entre los diferentes grupos de componentes que desea ver, simplemente haciendo clic en una de las pestañas. Las pestañas pueden recibir diferentes títulos o iconos.

Aquí hay un ejemplo cotidiano de dicha ventana, que tiene varias pestañas a las que se puede acceder haciendo clic en las pestañas.

Una simple ventana de 'propiedades' de un disco local (aquí, Disco local F: ventana de propiedades en mi sistema) en su sistema informático tiene varias pestañas, denominadas General, Herramientas, Hardware, etc. a las que puede acceder haciendo clic en una de ellos, es un ejemplo perfecto de los paneles con pestañas.

En otras palabras, el JTabbedPane te ayuda a tener varios componentes compartiendo el mismo lugar. El usuario elige fácilmente qué componente quiere ver eligiendo o haciendo clic en la pestaña deseada.

JTabbedPane Tab Indexing and Placement

Las pestañas están representadas por un índice, que se decide según el lugar o la posición en la que se agregó la pestaña.

Para entender esto, supongamos que agregó su primera pestaña. Luego, su índice será igual a '0' y su próxima pestaña tendrá un índice igual a '1' y, por cierto, el índice de su última pestaña agregada será igual a 'conteo de pestañas menos 1'.

Las clases de Panel con pestañas utilizan un modelo de selección único que representa "un conjunto de índices de pestañas", así como el "índice actualmente seleccionado", es decir, el índice de la pestaña seleccionada.

De manera predeterminada, las pestañas se colocan en la ubicación SUPERIOR, como puede ver en el panel con pestañas de propiedades de la ventana anterior. Puede cambiar esta ubicación de pestaña a cualquiera de las direcciones como IZQUIERDA, DERECHA o Inferior mediante el uso de un método llamado método setTabPlacement.

Constructores JTabbedPane en Java

Al usar JTabbedPane, también usaremos sus constructores, que se diferencian en función de los privilegios que brindan.

Los constructores comúnmente utilizados mientras se usa JTabbedPane se enumeran de la siguiente manera:

1. JTabbedPane ()

El constructor JTabbedPane () crea un TabbedPane vacío. Cuando usamos el constructor JTabbedPane (), crea el panel sin ninguna especificación para su colocación. Entonces, la pestaña se coloca en su lugar predeterminado que es SUPERIOR como se discutió anteriormente usando JTabbedPane.TOP.

2. JTabbedPane (int tabPlacement)

Este constructor crea un TabbedPane vacío. Proporciona el privilegio de decidir la dirección o el lugar del panel. La colocación se realiza cuando la dirección se especifica utilizando JTabbedPane.TOP, JTabbedPane.BOTTOM, JTabbedPane.LEFT o JTabbedPane.RIGHT.

3. JTabbedPane (int tabPlacement, int tabLayoutPolicy)

Se crea un panel con pestañas vacío cuando se utiliza este constructor. Esto proporciona el privilegio de decidir la ubicación del panel de pestañas igual que el constructor JTabbedPane (int tabPlacement).

También le permite al programador decidir la política de diseño de pestañas. Esto le permite al programador controlar cómo se mostrarán las pestañas. La política de diseño de pestañas se establece en JTabbedPane.SCROLL_TAB_LAYOUT o JTabbedPane.WRAP_TAB_LAYOUT. De manera predeterminada, la política se establece en WRAP_TAB_LAYOUT.

Con la política establecida en SCROLL_TAB_LAYOUT, las pestañas se pueden desplazar y se muestra un botón para desplazarse por las pestañas, izquierda-derecha o arriba-abajo, en el panel con pestañas.

Ejemplo de JTabbedPane

Aquí, discutimos el Ejemplo de JTabbedPane en Java en detalles:

Finalmente algo de ejercicio, ¿comenzamos?

Esta es la parte donde intentaremos agregar el panel con pestañas en nuestro JFrame. Utilizaremos el paquete javax.swing.JTabbedPane nos proporcionará la función para agregar pestañas a nuestro marco.

El siguiente es un código de ejemplo, usando JTabbedPane para crear pestañas en nuestro marco.

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTabbedPane;
public class JTP_Layout
(
JFrame frame;
JTP_Layout()
(
//Creating our JFrame
frame= newJFrame("Tabbed Pane Sample");
//Terminating process after exiting
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Adding TabbedPane Object
JTabbedPanetabbedPane = new JTabbedPane();
//Adding TabbedPane LayoutPolicy
tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
//TabPlacement
//tabbedPane.setTabPlacement(JTabbedPane.BOTTOM);
//Setting our componentobject
//JRadioButton r1=new JRadioButton("A) Tab Component A");
//r1.setBounds(30, 30, 100, 90);
//Adding our First Panel Object
JPanel p1=new JPanel();
//Adding our component to the Panel
//p1.add(r1);
JPanel p2=new JPanel();
JPanel p3=new JPanel();
//Setting boundary values for the tabs
tabbedPane.setBounds(50, 50, 200, 200);
//Naming 'One' asour First Pane
tabbedPane.add("One", p1);
tabbedPane.add("Two", p2);
tabbedPane.add("Three", p3);
//Setting Frame'sposition to the center
frame.add(tabbedPane, BorderLayout.CENTER);
//Setting FRame'sSize
frame.setSize(400, 150);
//Setting visibility asTrue
frame.setVisible(true);
)
public static void main(String args())
(
new JTP_Layout();
)
)


Cuando se ejecuta el programa anterior, obtenemos la siguiente ventana como salida.

En el ejemplo anterior, agregamos pestañas a nuestro JFrame y le dimos diferentes nombres a nuestras pestañas como 'Uno', 'Dos', etc. También podemos agregar diferentes componentes debajo de nuestras pestañas diferentes usando una línea de código simple como la siguiente.

Creamos un objeto para el botón de radio, r1 y luego este objeto se usó para agregar botones de radio al panel Uno, es decir, p1.

Y el componente 'Botón de radio' aparecerá debajo de nuestro primer panel, donde lo agregamos.

Usando constructores JTabbedPane

Ya usamos constructores como JTabbedPane (int tabPlacement) o JTabbedPane (int tabPlacement, int tabLayoutPolicy) en nuestro programa, pero aún no hemos visto que sea un efecto.

Entienda esto, creamos la clase Java para nosotros, y luego llamamos a nuestro constructor, JTP_Layout (vea el código). Luego establecemos argumentos como setTabLayoutPolicy en SCROLL_TAB_LAYOUT utilizando el objeto de nuestra clase.

Como se mencionó anteriormente, cuando la política de tablayout está configurada para DESPLAZARSE, permite al usuario desplazarse por las pestañas en una dirección usando un botón.

Por ejemplo, aumenté el número de pestañas en nuestro programa y configuré la política en DESPLAZARSE, vea que es el efecto:

Puede ver un botón de desplazamiento en la esquina derecha, que permite al usuario ir de izquierda a derecha con este botón.

El otro argumento agregado a nuestro constructor es setTabPlacement, que es como se discutió anteriormente y está establecido en TOP de forma predeterminada. Pero nuestro constructor nos ayuda a decidir esto al establecer la ubicación de la pestaña en ABAJO o IZQUIERDA o DERECHA.

Ya teníamos dicho código fuera de línea en nuestro programa, pero comentamos (vea el código), cuando se elimina el comentario, vea el efecto.

Observe que cuando usamos tabbedPane.setTabPlacement (JTabbedPane.BOTTOM), nuestras pestañas se reubicaron en la parte inferior del marco.

Aquí, es importante tener en cuenta que no hay necesidad de ningún 'Manejo de errores', nuestro objeto JTabbedPane maneja los golpes o eventos de su mouse y teclado. Aún así, si desea una funcionalidad similar sin la interfaz de pestañas, puede usar un diseño de tarjeta en lugar de un panel con pestañas.

Al final, si se dice en palabras simples, para crear nuestro panel con pestañas, cree una instancia de JTabbedPane, luego cree los componentes que se mostrarán y luego agregue estos componentes a la pestaña que desee.

Eso es todo, fue fácil ¿verdad?

Artículos recomendados

Esta es una guía de JTabbedPane en Java. Aquí discutimos la introducción a los constructores JTabbedPane y JTabbedPane junto con su ejemplo. También puede consultar los siguientes artículos para obtener más información.

  1. Constructor y Destructor en Java
  2. JScrollPane en Java
  3. JComboBox en Java
  4. JDialog en Java
  5. Herramientas de implementación de Java
  6. JFrame en Java