viernes, 29 de mayo de 2009

JPanel con Gradiente con widgets de swing para Netbeans (Parte 1)

Que tal hace unos días tuve la necesidad de crear una interfaz de tipo escritorio por supuesto en java, pero no me gustan la apariencia de sus widgets así que me puse a investigar un poco y encontré como hacer un panel con gradiente cosa que explicare más adelante, después un amigo donde trabajo encontró una libreria de widgest para swing


después quede muy sorprendido puesto que la GUI que hice se ve bastante mejor bueno; les explico primero como hacer un panel con gradiente el código fue tomado de muchos blogs el código es este:


package vista;
/**
*
* @author isaac
*/
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import javax.swing.JLayeredPane;

/**
* @author Salazar Reque Miguel
*/
public class IPanel extends JLayeredPane
{
private Color color1 = new Color(255,255,255);
private Color color2 = new Color(0,0,0);

@Override
protected void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g.create();
Rectangle clip = g2.getClipBounds();
float x=getWidth();
float y=getHeight();
g2.setPaint(new GradientPaint(0.0f, 0.0f, getColor1().darker(),
0.0f, getHeight(), getColor2().darker()));
g2.fillRect(clip.x, clip.y, clip.width, clip.height);
}

//Métodos set y get que nos permiten modificar los colores

public Color getColor1() {return color1;}

public void setColor1(Color color1) {this.color1 = color1;}

public Color getColor2() {return color2;}

public void setColor2(Color color2){this.color2 = color2;}

}

se preguntaran porque hereda de JLayeredPane y no de JPanel la respuesta es porque lo vamos a agregar a un panel form de netbeans y este panel se pueden soltar y arrastrar puesto que tiene propiedades diferentes a un Jpanel.

Paso 1.

Crear un proyecto en Netbeans.


2. Crear un paquete que se llame vista o como se les de la gana por ejemplo:
influenza.porcina
influenza.marciana

3. Crear una clase que se llama IPanel y copiar el código de arriba.




4. Crear un JPanel Form -> dan click derecho en el paquete de su proyecto, si no aparece esa opción, hay mismo busquen other...

aparecerá una ventana como esta:


den next y pongan el nombre que ustedes quieran en este caso se llamara Panel, el proyecto hasta ahora esta mas o menos así:



4.1 * Vayan por un refresco al Oxxo mas cercano o por una cerveza, y me invitan una vale.



5. Despues como diablos agregar nuestra clase a nuestro Panel una es hacer una jar y agregarlo a la palette de netbeans y otro es ocupar Beans en especial la opción de choose bean, antes compilen todo el pequete vista quieren...

aparecera una venta con un campo de texto:

escriban vista.IPanel y listo tienen su panel con gradiente super chido.




6. pueden hacer mas grande el IPanel o combiar sus colores




click derecho en panel propiedades color1 y color2, como pueden notar los los atributos de nuestra clase IPanel.



7. agregarlo a un JFrame Form
Esta en las opciones del paso 4:

Compilar el paquete vista ir a la papeleta en Beans elegir nuevamente Choose beans escribir ahora vista.Panel



Dar Ok, arrastrarle hasta el JFrame form y listo.





Después vayan a la clase Ventanita denle run y listo, tiene que aparecer algo mas o menos asi.




* el paso 4.1 no es necesario pero te ayudara a relajarte, pero puede hacer que te encuentres con un embotellamiento alcoholico y no te permita terminar este pequeñito proyecto