En la primera parte vimos como hacer un gradiente con un JLayeredPane, ahora el siguiente paso es hacer los bordes redondeados. el código es el siguiente.
package vista;
/**
*
* @author isaac legorreta
*/
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.RoundRectangle2D;
import javax.swing.JLayeredPane;
public class IPanel extends JLayeredPane
{
private Color color1 = new Color(255,255,255);
private Color color2 = new Color(0,0,0);
private int arcw=25;
private int arch=25;
@Override
protected void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g.create();
float x=getWidth();
float y=getHeight();
g2.setPaint(new GradientPaint(0.0f, 0.0f, getColor1().darker(),
0.0f, getHeight(), getColor2().darker()));
g2.fill(new RoundRectangle2D.Double(0, 0, x, y, getArcw(),getArch()));
g2.setPaint(new GradientPaint(0.0f, 0.0f,getColor2(),
getWidth(), getHeight(),getColor1()));
g2.drawRoundRect(0, 0, getWidth() , getHeight(), getArcw()+2,getArch()+2);
g2.setPaint(Color.black);
}
public int getArch() {
return arch;
}
public void setArch(int arch) {
this.arch = arch;
}
public int getArcw() {
return arcw;
}
public void setArcw(int arcw) {
this.arcw = arcw;
}
//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;}
}
Y para agregarlo a su JFrame esta en la parte 1 de este pequeñito tutorial, mas o memos le debería quedar algo como esto.
No hay comentarios.:
Publicar un comentario