Java - JFrame上只有两个圆角

时间:2015-08-15 03:03:06

标签: java swing jframe rounded-corners

我想围绕JFrame的前两个角来围绕我正在进行的项目。我目前正在使用setShape(new RoundRectangle2D.Double(0, 0, 200, 252, 30, 30));四舍五入所有角落,但我不希望底部两个圆角我希望它是一个正常的角落。

1 个答案:

答案 0 :(得分:4)

你可以组合形状来得到它。通过将圆角矩形与普通矩形相结合,你可以制作一个没有底部两个圆角的矩形。

例如

public class example extends JFrame{

    public example() {
        this.setUndecorated(true);
        this.getContentPane().setBackground(Color.red);

        Area shape1 = new Area(new RoundRectangle2D.Double(0, 0, 200, 252, 30, 30));
        Area shape2 = new Area(new Rectangle(0, 252-30, 200, 100));
        shape1.add(shape2);
        this.setShape(shape1);
        this.setSize(300, 400);
    }
    public static void main(String[] args) {
        new example().setVisible(true);
    }

}

enter image description here enter image description here

或者你可以给圆形框架提供比RoundRectangle矩形更小的高度。所以你不能看到RoundRectangle的底部。然后你就可以获得所需的输出