java label 边框_Java中JLabel圆角的最简单代码[复制]
时间: 2023-12-08 15:05:46 浏览: 92
以下是在Java中创建带圆角的JLabel的最简单代码:
```
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class RoundedLabel extends JLabel {
private int radius;
private Color backgroundColor;
public RoundedLabel(String text, int radius, Color backgroundColor) {
super(text);
this.radius = radius;
this.backgroundColor = backgroundColor;
setOpaque(false);
setBorder(BorderFactory.createEmptyBorder(5, 10, 5, 10));
}
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setColor(backgroundColor);
g2.fillRoundRect(0, 0, getWidth(), getHeight(), radius, radius);
super.paintComponent(g);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Rounded Label");
JPanel panel = new JPanel();
panel.setBackground(Color.WHITE);
RoundedLabel label = new RoundedLabel("Hello world!", 15, Color.YELLOW);
panel.add(label);
frame.add(panel);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
```
在这个例子中,我们创建了一个自定义的JLabel,名为RoundedLabel。我们可以通过调用它的构造函数来创建一个带圆角的JLabel。在构造函数中,我们设置了标签的文本、圆角半径和背景颜色,并调用了setOpaque(false)和setBorder(BorderFactory.createEmptyBorder(5, 10, 5, 10))来去除默认的标签边框和背景。在paintComponent方法中,我们使用Graphics2D类来绘制一个带圆角的矩形作为标签的背景,并调用了super.paintComponent(g)来绘制标签的文本。
最后,我们在main方法中创建了一个JFrame和一个JPanel,并将RoundedLabel添加到JPanel中。我们也可以通过调用label.setBackground(Color.RED)来更改标签的背景颜色。
阅读全文