具有圓角和透明度的邊框
這個問題解決了創建具有透明度的圓角邊框的問題,允許底層組件顯示出來。解決方案涉及修改 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中文網其他相關文章!