Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Componentes / Ejercicios / Java / Tabla para inventarios de Entradas y Salidas

Tabla para inventarios de Entradas y Salidas

Autor 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 http://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

Si te ha gustado podr铆as compartirlo o dejar un comentario. 隆Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnolog铆a en Bolivia.

Toda la informaci贸n que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si as铆 lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

Tambi茅n Te Podr铆a Interesar

HELP ME – Env铆a un SMS de auxilio con tu ubicaci贸n

HELP ME – Env铆a un SMS de auxilio con tu ubicaci贸n

HELP ME, es una aplicaci贸n android gratuita que te permite enviar un mensaje de auxilio (S.O.S.) hasta 4 personas que tu...

MVC: Modelo, Vista y Controlador en PHP

MVC: Modelo, Vista y Controlador en PHP

EL patr贸n MVC (Model, View, Controller) o Modelo, Vista Controlador, es un tipo de dise帽o que separa en capas bien defin...

Crear plantillas personalizadas para Netbeans

Crear plantillas personalizadas para Netbeans

Cuando llevamos tiempo programando vamos armando un聽librer铆a personal de聽c贸digo聽que utilizamos con frecuencia en nuestro...

Crea App multilenguaje con Android Studio

Crea App multilenguaje con Android Studio

En este post aprenderemos los pasos b谩sicos para construir聽una aplicaci贸n android con soporte multilenguaje, utilizaremo...

JTree Recursivo

JTree Recursivo

En un post anterior se vio como llenar un JTree en donde se conoc铆a de antemano que estructura iba a tener esta sin emba...

Exportar registros MySQL a Excel

Exportar registros MySQL a Excel

Java Excel API es un API para java que permite a los desarrolladores leer y escribir en hojas de c谩lculo Excel. jexcelap...

7 comentarios en “Tabla para inventarios de Entradas y Salidas”

  1. christian dice:

    Hola jc-mouse:
    Pude terminar el proyecto de control de stock gracias , por que como ejercicio esta bien
    me sale algunos errores y espero resolverlos.
    Gracias

  2. Antonio dice:

    Muy buenas. Me sirvi贸 de mucho tu post, pero tengo un problema. Mi web resulta que tiene var铆as p谩ginas, por lo que tengo que pasar el idioma por cada pagina para que las traduzca.

    No conseigo hacer que cada pagina se traduzca, en cuanto cambio de secci贸n vuele al idioma por defecto.

  3. Yesid dice:

    Como consigo El Codigo de la Aplicacion

  4. Luis Miguel dice:

    Hola amigo jc-mouse eh estado viendo todos tus post en tu web y cada uno de ellos me han sido de gran ayuda. Soy nuevo en esto y mi profesor nos a puesto como tarea hacer una aplicaci贸n que sirva para enviar correos electros y a su vez que tambi茅n permita enviar archivos adjuntos tu ejemplo es excelente pero me gustar铆a que me ayudaras con el envi贸 de los archivos adjuntos te estar铆a muy agradecido por tu ayuda.

    1. Abner dice:

      Hola tengo un ejemplo te podr铆a ayudar contactame v铆a correo electrosoftservicios@gmail.com

  5. Dago dice:

    Hola grandes aplicaciones he encontrado en este sitio y muy bien desarrollado y explicado cada ejemplo…. he intentando implementar modificaciones a este ejemplo de sqlite he utilizado el metodo db.update y no consigo hacerlo funcionar quiza alguien pudiera ayudarme?….. Gracias de antemano

  6. GustavoMG dice:

    Hola JC-Mouse, como todos tus posts, esta muy bien. Gracias por tus aportes… El enlace de descarga me aparece como caido. Igual gracias! Saludos.

Deja un comentario

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *

*

Comparte lo que sabes

Categorias

脷ltimas entradas

PHPUnit es un framework que se utiliza para escribir tests en PHP, Netbeans nos permite configurarlo y usarlo f谩cilmente...

Una Prueba Unitaria, es una forma de comprobar que nuestro c贸digo, hace lo que se supone debe hacer; es decir, se asegur...

La prueba del camino b谩sico, es una prueba de “caja blanca” que consiste en verificar el c贸digo de nuestros...

Si quieres cambiar el nombre de tus atributos sin tener que reescribir c贸digo java por X o Y raz贸n, GSON te permite reno...

Android Bolivia

Bandera en Alto