2个具有红色背景的java中的矩形光滑圆角

时间:2014-09-22 13:42:51

标签: java swing

如何创建一个矩形,在java中只有左边有2个光滑圆度的角?

表示一个矩形,左上角和左下角的圆角和光滑的角落,背景在java中填充红色?

我搜索了SO并用谷歌搜索了但是找不到两个角落的光滑。

1 个答案:

答案 0 :(得分:4)

只需创建一个类似于此的圆角矩形:

RoundRectangle2D roundedRectangle = new RoundRectangle2D.Float(10, 10, 240, 160, 10, 10);

然后从中点绘制一个正常的矩形,到右边的所需点。

示例图:

enter image description here

注意:确保没有边框。我已将它们吸引到说明效果中。

代码:

     Graphics2D g2 = (Graphics2D) g;
     RenderingHints qualityHints = new RenderingHints(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON );
        qualityHints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY );
        g2.setRenderingHints( qualityHints );         


     g2.setPaint(Color.RED);

     double x = 50;
     double y = 50;
     double w = x + 250;
     double h = y + 100;
     g2.fill(new RoundRectangle2D.Double(x, y, w, h, 50, 50));

     g2.fill(new Rectangle2D.Double(x + 100,y,w,h));