Ejemplo JTabbedPane Java

Ejemplo de comandos básicos de JTabbedPane en Java.  Vamos a desactivar una pestaña de una JTabbedPane en función de su contenido y no en función del índice de las pestañas. Después activaremos y mostraremos esa pestaña junto con su contenido

 

Imaginemos que tenemos la siguiente ficha de la imagen.

Esta ficha ha sido elaborada por medio de las herramientas de Netbeans de diseño de interfaz y que ahora no pretendo entrar en detalle.
Simplificando esta imagen, vamos a considerar sólo dos pestañas (Datos económicos y materiales). Los componentes están inicializados:

pnlEconomicData = new es.diaple.fw.PanelAuto();

pnlEconomicData.setLayout(null);

lblCurrency.setText(“Moneda local”);

pnlEconomicData.add(lblCurrency);

lblCurrency.setBounds(30, 30, 80, 14);

pnlEconomicData.add(cmbCurrency);

cmbCurrency.setBounds(120, 20, 130, 30);

tabbedPane1.addTab(“Datos económicos”, pnlEconomicData);

pnlCompaniesMaterials = new es.diaple.fw.PanelAuto();

jScrollPane1 = new javax.swing.JScrollPane();

tblCompaniesMaterials = new es.diaple.fw.Table();

pnlCompaniesMaterials.setLayout(new java.awt.BorderLayout());

tblCompaniesMaterials.setModel(new javax.swing.table.DefaultTableModel(

new Object [][] {

{null, null, null, null},

{null, null, null, null},

{null, null, null, null},

{null, null, null, null}

},

new String [] {

“Title 1”, “Title 2”, “Title 3”, “Title 4”

}

));

jScrollPane1.setViewportView(tblCompaniesMaterials);

pnlCompaniesMaterials.add(jScrollPane1, java.awt.BorderLayout.CENTER);

tabbedPane1.addTab(“Materiales”, pnlCompaniesMaterials);

 

Para desactivar una pestaña inicialmente:

tabbedPane1.setEnabledAt(tabbedPane1.indexOfComponent(pnlCompaniesMaterials),false);

Para reactivar una pestaña y marcarla como seleccionada en función del panel.

tabbedPane1.setEnabledAt(tabbedPane1.indexOfComponent(pnlCompaniesMaterials),true);

tabbedPane1.setSelectedIndex(tabbedPane1.indexOfComponent(pnlCompaniesMaterials));

tabbedPane1.setEnabledAt(tabbedPane1.indexOfComponent(pnlCompaniesMaterials),true);

tabbedPane1.setSelectedIndex(tabbedPane1.indexOfComponent(pnlCompaniesMaterials));

Moraleja antes de ir a dormir:

Estas funciones se pueden hacer directamente poniendo el índice que en esos momentos estamos visualizando. Ejemplo: tabbedPane1.setSelectedIndex(1).  Evitar utilizarlo de esta manera.  Siempre hay problemas de mantenimiento, como por ejemplo en caso de cambiar el orden de las pestañas, si añadimos una nueva pestaña, etc.

Anuncios

3 comentarios en “Ejemplo JTabbedPane Java

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s