used class to make rounded border
the class is :
public class RoundedBorder implements Border {
int radius;
public RoundedBorder(int radius) {
this.radius = radius; }
@Override
public Insets getBorderInsets(Component c) {
return new Insets(this.radius/2, this.radius, this.radius/2, this.radius); } @Override
public boolean isBorderOpaque() {
return true; }
@Override
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
Graphics2D graphics = (Graphics2D) g; graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
g.drawRoundRect(x,y,width-1,height-1,radius,radius); } }
Y para el campo de texto el siguiente codigo donde uso Jtextfield:
JTextField usuario= new JTextField(); usuario.setBorder(new RoundedBorder(10)); usuario.setPreferredSize(new Dimension(150, 25));
Y funciona de maravilla, pero al momento de generarse el campo un fondo inusual se coloca detras de mi campo de texto especificamente en los bordes, les dejo una imagen para ilustrar mejor:
Gracias de antemano