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
2 comentarios:
Excelente aportacion, hace tiempo busque info sobre este tema pero no lo entendia, esta super facil!!!. gracias.
Hola isaac
Soy de colombia, (solo por referencia), soy demasiado torpe para el java, apenas comienzo y eso porque un profesor me obligo a hacer un paint en java.
No tengo ni idea, baje bastantes clases y ejemplos pero ninguno entendi, me gusta mas .net..jajaj..el problemilla es que no tengo mucho tiempo para aprender asi que lo unico que necesito es medio entender como se hacen las cosas, pues para poderle presentar el proyecto al profe. No se si dispone de tiempo para que me heche una mano con eso... se lo agradeceria enormemente... mi correo es javito115@hotmail.com, si no es molestia para que me agregue y poder hablar mejor... de antemando gracias..
Publicar un comentario