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 / Ejercicios / Java / Tabla para inventarios de Entradas y Salidas

Tabla para inventarios de Entradas y Salidas

Por jc mouse martes, noviembre 12, 2013

A veces navegando en la internet buscando novedades , investigando o simplemente perdiendo el tiempo 馃檪 se encuentran cosas interesantes, una de esas fue una aplicaci贸n para el control de inventarios bastante completo y con una interfaz sencilla pero intuitiva y agradable, no digo que programa es porque es de pago as铆 que no vale la pena para los seguidores del software libre y yo no le hago propaganda gratis a nadie 3:) , en fin entre sus formularios me gusto una tabla para mostrar el informe de entradas y salidas del inventario asi que como no tenia nada que hacer me propuse imitar esa interfaz usando el lenguaje Java.

La tabla es la siguiente.

table in out

y el resultado es este:

inventario java

No se ustedes pero yo estoy conforme con el resultado 馃檪

En este post no ense帽are paso a paso como se hace esta tabla, porque ir贸nicamente no tengo mucho tiempo para hacer un tutorial pero quer铆a compartir el c贸digo antes de que se me olvide y se quede en el ba煤l de los recuerdos 馃檪 pero si les digo que el c贸digo utilizado para personalizar el JTable se encuentra en esta misma web, usen el buscador 馃檪 si encuentran algo que no entiendan aunque lo dudo, todo esta muy sencillo de entender para un programador con un nivel intermedio en el lenguaje java 馃檪

Para no hacer el post muy cortito, a continuaci贸n la clase 芦CellRenderer禄 encargada de personalizar las celdas del JTable seg煤n el valor de cada una de ellas:

01 package com.bolivia.app;
02 import java.awt.Color;
03 import java.awt.Component;
04 import java.awt.Font;
05 import javax.swing.ImageIcon;
06 import javax.swing.JLabel;
07 import javax.swing.JTable;
08 import javax.swing.table.DefaultTableCellRenderer;
09 /**
10  * @web https://www.jc-mouse.net
11  * @author Mouse
12  */
13 public class CellRenderer extends DefaultTableCellRenderer {
14  
15     private String tipo="text";
16     private Font courier = new Font( "Courier New",Font.PLAIN ,12 );
17     private Font normal = new Font( "Arial",Font.PLAIN ,12 );
18     private Font bold = new Font( "Arial",Font.BOLD ,12 );
19     private JLabel label = new JLabel();
20     private ImageIcon salida = new ImageIcon(getClass().getResource("/com/bolivia/app/images/salida.jpg"));
21     private ImageIcon entrada = new ImageIcon(getClass().getResource("/com/bolivia/app/images/entrada.jpg"));
22     
23     /** Constructor de clase
24  * @param tipo String
25  * Ej.: "text", "text center", "hour" , "num" , "icon"
26  */
27     public CellRenderer( String tipo )
28     {
29         this.tipo = tipo;
30     }
31     
32     
33     @Override
34     public Component getTableCellRendererComponent ( JTable table, Object value, boolean selected, boolean focused, int row, int column )
35     {   
36         if (selected) {                
37             this.setBackground( new Color( 50, 153 , 254) );                        
38         }
39         else
40         {
41             this.setBackground(Color.white);
42         }
43         
44         if( tipo.equals("hour"))
45         {
46             this.setHorizontalAlignment( JLabel.CENTER );
47             this.setText( (String) value );
48             this.setForeground( (selected)?new Color(255,255,255):new Color(0,0,0) );            
49             this.setFont(courier);            
50             return this;
51         }
52                 
53         if( tipo.equals("text"))
54         {
55             this.setHorizontalAlignment( JLabel.LEFT );
56             this.setText( (String) value );
57             this.setForeground( (selected)?new Color(255,255,255):new Color(0,0,0) );            
58             this.setFont(normal);            
59             return this;
60         }
61         
62         if( tipo.equals("text center"))
63         {
64             this.setHorizontalAlignment( JLabel.CENTER );
65             this.setText( (String) value );
66             this.setForeground( (selected)?new Color(255,255,255):new Color(0,0,0) );            
67             this.setFont(normal);            
68             return this;
69         }
70                 
71         if( tipo.equals("num"))
72         {           
73             this.setHorizontalAlignment( JLabel.CENTER );
74             this.setText( (String) value );            
75             this.setForeground( (selected)?new Color(255,255,255):new Color(32,117,32) );            
76             this.setFont(bold);            
77             return this;   
78         }        
79         
80         if( tipo.equals("icon"))
81         {
82             if( String.valueOf(value).equals("IN") )
83             {
84                 label.setIcon(entrada);
85             }
86             else if( String.valueOf(value).equals("OUT") )
87             {
88                 label.setIcon(salida);
89             }
90             return label;
91         }
92         
93         return this;
94     }
95 }

C贸digo Fuente completo del proyecto realizado en Netbeans 7.3 en descarga directa en este enlace pobret贸n

Enjoy!!!

Tags

Art铆culos similares

Agregar soporte para JNLP en servidor Apache

Java Network Launching Protocol (JNLP) es una especificaci贸n usada por Java Web Start. Esta especificaci贸n, permite tene[...]

Encriptaci贸n por el m茅todo b铆fido

El m茅todo B铆fido es un cifrado fraccionario. Es decir que cada letra viene representada por una o m谩s letras o s铆mbolos,[...]

TextToSpeech: Convierte texto a voz

TextToSpeech o TTS, es el sintetizador de voz para android, en los celulares inteligentes viene un motor TTS por defecto[...]

Impuestos Bolivia :: C贸digo de Control en C#

Hola 馃檪 en esta聽post聽se deja a disposici贸n de la comunidad de programadores 聽que quiera aprender un poquito sobre聽Factura[...]

Evitar ejecutar un programa java m谩s de una vez

Cuando se hace uso de programas a veces no importa que este cree m谩s de una instancia al mismo tiempo, por ejemplo podem[...]

Conoce VAR lo nuevo de Java 10

Java ha ido evolucionando a pasos agigantados en los 煤ltimos a帽os gracias al pedido de su comunidad global de programado[...]