
Este es el cogido del borde mejorado:
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 color3 = new Color(1,1,1);
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,getColor3(),
getWidth(), getHeight(),getColor3()));
g2.drawRoundRect(0, 0, getWidth()-1 , getHeight()-1, getArcw()-2,getArch()-6);
g2.setPaint(Color.black);
}
public Color getColor3() {
return color3;
}
public void setColor3(Color color3) {
this.color3 = color3;
}
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;}
}
Este el código para que el panel sea transparente:
package vista;
import java.awt.AlphaComposite;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
/**
*
* @author Edisoncor
*/
public class IPanelTrans extends IPanel{
private float tran= 0.8f;
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
AlphaComposite old = (AlphaComposite) g2.getComposite();
g2.setComposite(AlphaComposite.SrcOver.derive(getTran()));
super.paintComponent(g);
g2.setComposite(old);
}
public float getTran() {
return tran;
}
public void setTran(float tran) {
this.tran = tran;
}
}
Como agragarlo por si tienen duda en su palette hay una opción beans dan click en choose bean, aparecera una pantalla como la siguiente y escriben lo siguiente vista.IPanelTrans despues la arrastran hasta su FormPanel y listo

En la propiedades aparecera un atributo llamado tran por defecto tiene .5 pero pueden cambiarlo...

Bueno en la parte uno explico como agregarlo a un FormPanel y despues a un Frame, como pueden notar no parece transparente, bueno en blog donde tome este codigo esta un JPanel con imagen de fondo tome el código y lo mejore un poco para que puedan agregar una imagen desde las propiedades (ruta), pero eso lo explicare en la parte 5...
1 comentario:
gracias enserio muchas gracias este aporte esta genial, muyy bueno lo recomendare a todo el mundo. bueno a los que conosco ^^
Publicar un comentario