Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Componentes / Java / Look and Feel / Personalizar JTabbedPane con Netbeans

Personalizar JTabbedPane con Netbeans

Por jc mouse miércoles, enero 9, 2013

Crear una librería swing para java utilizando Netbeans no es nada del otro mundo y la cantidad de código que vayamos a escribir depende  de que tan complejo sea el swing que deseamos obtener.

En este tutorial, el swing que crearemos sera un JTabbedPane personalizado al estilo windows 8 minimalista, dejando atrás el estilo clásico de este componente, gracias a las ventajas que ofrece la POO, sobre escribiremos métodos y crearemos algunos más para diseñar a nuestro antojo el swing.

El resultado obtenido sera un JTabbedpane con un estilo minimalista, sencillo, sin esos bordes 3d que a veces ya cansan a la vista.

blacktabbedpane

¿Que necesitamos?

Si bien se puede escribir código java desde un simple editor de texto, para que complicarse la vida digo yo 🙂 si tenemos varios IDEs gratuitos a disposición, nosotros haremos uso de Netbeans en su versión 7.2

Así también, es recomendable que tengas un uso intermedio de lo que es Java y Netbeans, no explicare cosas básicas como crear paquetes por ejemplo para no hacer el tuto largo y aburrido.

Tutorial

1. Creamos un nuevo proyecto en Netbeans. File -> New project -> Java -> Java Class Library.

El nombre del proyecto será «BlackTabbedPane«, si tienen otro nombre mejor, pues no hay problema 🙂

2. Ahora debemos crear la estructura de nuestra librería, esto se hace para dar orden a nuestro proyecto, por ejemplo la librería JCalendar tiene la siguiente estructura:

jcalendar structure

Puede verse como esta separado cada cosa en este swing, paquetes para las imágenes, paquetes para las clases, etc.

Muy bien, nosotros debemos hacer lo mismo con nuestro proyecto, como esta librería no será la gran cosa, esta estructura de paquetes y clases queda reducida a la siguiente forma:

Tenemos dos paquetes, uno dentro de la otra, ORG y MATRIX, los nombres de los paquetes son meramente orientativos, es decir, nos indican que cosa va dentro de cada paquete.

Solo contamos con dos clases, BlackTabbedPaneBlackTabbedPaneUI. Explicaremos para que son a continuación.

3. BlackTabbedPane.java sera nuestra clase principal, nuestro swing que utilizaremos desde el Palette de Netbeans.

Esta clase se extenderá de un JTabbedPane ya que lo que hacemos es personalizar este componente ya existente.

package org.matrix;
import javax.swing.JTabbedPane;

public class BlackTabbedPane extends JTabbedPane {

   public BlackTabbedPane(){
     /** El codigo aqui */
   }
}

Así mismo, esta clase contara con cuatro métodos públicos, dos SET y dos GET, cuando creamos una librería swing y queremos que estos métodos se muestran en la paleta de propiedades, cada método debe tener un set y un get.

    public void setTabSelectedColor( Color color )
    {

    }

    public Color getTabSelectedColor()
    {        

    }

    public void setTabUnselectedColor( Color color )
    {

    }

    public Color getTabUnselectedColor()
    {        

    }

Estos métodos serán para asignar los colores a los TABS en su estado SELECCIONADO y NO SELECCIONADO.

Set Get

Vista de métodos desde la paleta de propiedades

4. BlackTabbedPaneUI, para poder manipular la interfaz del JTabbedPane, debemos cambiar su Look and Feel, este se encuentra en la clase BasicTabbedPaneUI, puedes encontrar mucha información de sus propiedades y  métodos en la API Java de estos objetos.

La clase BlackTabbedPaneUI sera una extensión de TabbedPaneUI y del cual sobre escribiremos 3 métodos.

public class BlackTabbedPaneUI extends BasicTabbedPaneUI  { 

    @Override
    protected void paintTabBackground( Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected ) 
    {

    }

    @Override
    protected void paintTabBorder(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected) 
    {
    }

    @Override
    protected void paintContentBorder(Graphics g, int tabPlacement, int selectedIndex ) 
    {

    }

}

No hay que ser todo un conocedor de la lengua de shakespeare para darse cuenta para que son estos métodos, ¿o si? o.O

Segunda Parte

Tags

Artículos similares

Procedimientos almacenados en java

En este tuto realizaremos la implementación y ejecución de procedimientos almacenados de MySQL en Java, si quieres darle[...]

native2ascii: Convertir caracteres Non-Unicode a Unicode

El JDK (Java Development Kit) tra una herramienta llamada native2ascii la cual permite convertir un fichero de una codif[...]

Convierte tus dibujos web en Código HTML

Sketch2Code es un proyecto de Microsoft el cual usa IA (Inteligencia Artificial) para transformar el diseño de una inter[...]

Añadir código QR a reportes con iReport

En un post anterior se vio como agregar un código DataMatrix en reportes con iReport Designer sin embargo actualmente el[...]

Dibujar figuras geométricas con java

Problema: Escriba un programa en java que permita dibujar con el mouse cuadrados, círculos y triángulos. El usuario debe[...]

Chusakeri: Software Educativo para realizar sumas mentales

Las matemáticas son fundamentales para la vida y aparte de las actividades clásicas de enseñanza desarrolladas en el aul[...]