如何在Java Swing中创建圆角标题边框

Ste*_*ier 4 java swing

我明白要创建标题边框,你可以这样做:

BorderFactory.createTitledBorder("  Your Title  ");
Run Code Online (Sandbox Code Playgroud)

然而,这会创建一个矩形边框,而我需要一个带有弯角的矩形.

根据我的理解,您可以通过以下方式创建自己的自定义边框:

class CustomBorder implements Border
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

问题是我不确定如何编写覆盖该方法的代码:

public void paintBorder(Component component, Graphics g, int x, int y, int width, int height)
Run Code Online (Sandbox Code Playgroud)

或者更好的是,有没有办法在不实现自己的Border类的情况下完成它?如果没有,你会如何编写自定义标题边框?我可以画一个带圆角的矩形,但是你怎么做才能有标签的空间呢?

小智 6

可以创建带有圆边的标题边框,而无需实现自己的Border类.只需将圆形边框传递给TitledBorder的构造函数即可.请尝试以下方法:

LineBorder roundedLineBorder = new LineBorder(Color.black, 5, true);
TitledBorder roundedTitledBorder = new TitledBorder(roundedLineBorder, "Title");
Run Code Online (Sandbox Code Playgroud)