具有圆角和透明度的边框
这个问题解决了创建具有透明度的圆角边框的问题,允许底层组件显示出来。解决方案涉及修改 TextBubbleBorder 类以绘制边框剪辑区域之外的父级的背景颜色。
解决方案:
对 TextBubbleBorder 类所做的修改如下如下:
// Paint the BG color of the parent, everywhere outside the clip // of the text bubble. Component parent = c.getParent(); if (parent!=null) { Color bg = parent.getBackground(); Rectangle rect = new Rectangle(0,0,width, height); Area borderRegion = new Area(rect); borderRegion.subtract(area); g2.setClip(borderRegion); g2.setColor(bg); g2.fillRect(0, 0, width, height); g2.setClip(null); }
此代码检索父组件及其背景颜色。然后,它创建一个代表边界区域的区域,并从中减去气泡和指针区域。这定义了边框之外的区域。
设置剪辑区域后,代码将使用父组件的背景颜色填充该区域,使圆角之外的边框透明。
其他注意事项:
以上是如何在Java中创建透明的圆角边框?的详细内容。更多信息请关注PHP中文网其他相关文章!