jtextfield圆角
时间: 2024-03-24 14:41:42 浏览: 33
要给 JTextField 添加圆角,可以通过设置其 Border 的方式实现。具体方法如下:
1. 创建一个 RoundedBorder 类,该类继承 javax.swing.border.AbstractBorder 类,并实现其中的 paintBorder() 方法。
```java
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.Rectangle;
import javax.swing.border.AbstractBorder;
public class RoundedBorder extends AbstractBorder {
private static final long serialVersionUID = 1L;
private Color borderColor;
private int borderRadius;
public RoundedBorder(Color borderColor, int borderRadius) {
this.borderColor = borderColor;
this.borderRadius = borderRadius;
}
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
g.setColor(borderColor);
g.drawRoundRect(x, y, width - 1, height - 1, borderRadius, borderRadius);
}
public Insets getBorderInsets(Component c) {
return new Insets(borderRadius + 1, borderRadius + 1, borderRadius + 2, borderRadius);
}
public Insets getBorderInsets(Component c, Insets insets) {
insets.left = borderRadius + 1;
insets.right = borderRadius + 1;
insets.top = borderRadius + 2;
insets.bottom = borderRadius;
return insets;
}
public boolean isBorderOpaque() {
return true;
}
public int getBorderRadius() {
return borderRadius;
}
public void setBorderRadius(int borderRadius) {
this.borderRadius = borderRadius;
}
public Color getBorderColor() {
return borderColor;
}
public void setBorderColor(Color borderColor) {
this.borderColor = borderColor;
}
}
```
2. 在需要添加圆角的 JTextField 上设置 RoundedBorder。
```java
JTextField textField = new JTextField("圆角文本框");
RoundedBorder roundedBorder = new RoundedBorder(Color.GRAY, 20);
textField.setBorder(roundedBorder);
```
通过设置 RoundedBorder 类的 borderRadius 属性,可以调整圆角的大小。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)