martes, 30 de julio de 2013

JPanelCustom personaliza tus JPanel a tu gusto en java(Parte 1)


Hace poco vimos comopersonalizar un JButton y convertirlo en una esfera,ahora vamos a personalizar un JPanel a tal punto de poder crear diferentes formas con el este va hacer uno de los varios tutoriales que les presentare para modificar un JPanel sin sobrecargar la aplicación donde vayan a implementar dicho componente.

Efectos que tiene esteJPanelCustom:

  • Imagen de fondo
  • colores en degradado
  • bordes en alto relieve
por ahora veremos como crear esos efectos con el tiempo iremos añadiendo muchos otros .

  • Como Añadir imagen de Fondo
Utilizando la claseGraphics2D implemento o llamo al métododrawImage este método me permite pintar una imagen de fondo dentro del JPanel y al hacer esto no importa el tamaño que tenga el panel la imagen de fondo se re dimensionara automáticamente esto es una de las ventajas de usar este metodo ya que no sera necesario usar un JLabel para añadir imágenes.

g2d.drawImage(image, 0, 0, w,h,this);


este método me recibe los valores de la variable Image donde esta alojada la imagen de fondo,y las coordenadas de donde queremos que se posicione o muestra la imagen y el tamaño de dicha imagen por lo general se utiliza los valores getHeight(); y getWidth(); para saber el tamaño del JPanel si el jpanel cambia de tamaño también lo hará la imagen(se re dimensiona).


  • Como añadir Colores en Degradado
con los ejemplos que eh presentado ya sabemos el uso del degradado.simplemente necesitamos construir una claseGradientPaint y asignarle los valores correspondientes.

bgColor = new GradientPaint(0, 0,getBackgroundTop() ,0, h, getBackgroundBotton());



  • Como añadir Bordes en alto relieve
para añadir este efecto el cual hace vistoso al panel ,vamos a utilizar primeroRectangle2D que sera el encargado de dibujar un rectángulo o darle la forma de rectángulo a nuestro panelRectangle2D es una clase que me recibe 4 sencillos valores las coordenadas X y Y que serán los valores de donde quiero que se posicione el rectángulo que en este caso serán 0 ambas, por que quiero que se posicione el rectángulo desde el inicio del JPanel ,luego los valoresWidth(ancho) yHeight(alto) serán los valores del tamaño real de nuestro JPanel.

Rectangle2D.Float r2d = new Rectangle2D.Float(0, 0, w - 1, h - 1); Shape clip = g2d.getClip(); g2d.clip(r2d); g2d.setPaint(color); g2d.fillRect(0, 0, w, h); g2d.setClip(clip); g2d.setColor(new Color(100, 100, 100));//primer relieve g2d.drawRect(0, 0, w - 1, h - 1); g2d.setColor(new Color(255, 255, 255, 50));//segundo relieve g2d.drawRect(1, 1, w - 3, h - 3);


luego necesito añadir un fillRect este método me permite dibujar un rectángulo con la capacidad de añadir el degradado o el fondo lo que se esta haciendo aquí en añadir un rectángulo encima de otro,luego para dar el efecto de relieve necesito añadir el métododrawRect que me dibuja el contorno del rectángulo dando asi el efecto de alto relieve.

les dejo el código fuente completo .


DESCARGAR






,

No hay comentarios:

Publicar un comentario