1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JTextField;
public class CustomizedJTextField extends JTextField {
private Color topColor = new Color(255, 0, 0);
private Color bottomColor = new Color(64, 0, 0);
private Color shadowColor = Color.black;
private Color textColor = new Color(255, 255, 255);
public CustomizedJTextField() {
super();
this.setLayout(null);
this.setOpaque(false);
this.setBorder(null);
this.setForeground(textColor);
}
public void paintComponent(Graphics g) {
Graphics2D graphics2d = (Graphics2D) g;
/** ombre */
//graphics2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.2f));
graphics2d.setColor(shadowColor);
graphics2d.fillRoundRect(0, 0, this.getWidth(), this.getHeight(), 10, 10);
/** le fond de l'objet avec un gradient + bords arrondis */
//graphics2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.9f));
GradientPaint gradientpaint = new GradientPaint(this.getHeight() / 2, 0.0F, topColor, this.getHeight() / 2, this.getHeight(), bottomColor);
graphics2d.setPaint(gradientpaint);
graphics2d.fillRoundRect(0, 0, this.getWidth()-1, this.getHeight()-2, 10, 10);
/** on affiche le reste normalement */
//graphics2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1));
super.paintComponent(graphics2d);
}
} |
Partager