я использовал класс, чтобы сделать округлую границу
класс:
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);
}
}
и для кнопки, которую я использовал:
JTextField login_nickname = new JTextField();
login_nickname.setBorder(new RoundedBorder(10));
login_nickname.setPreferredSize(new Dimension(150, 25));
и все работает нормально, но я хочу удалить неиспользуемый фон за пределами скругленной границы в углу, я прикрепил изображение, чтобы объяснить, что я имею в виду,
спасибо