Sempadan dengan Sudut Bulat dan Ketelusan
Soalan ini menangani isu mewujudkan sempadan bulat dengan ketelusan, membolehkan komponen asas ditunjukkan melalui . Penyelesaiannya melibatkan pengubahsuaian kelas TextBubbleBorder untuk melukis warna latar belakang induk di luar kawasan klip sempadan.
Penyelesaian:
Pengubahsuaian yang dibuat pada kelas TextBubbleBorder adalah sebagai berikut:
// 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); }
Kod ini mendapatkan semula komponen induk dan warna latar belakangnya. Ia kemudian mencipta kawasan yang mewakili kawasan sempadan dan menolak kawasan gelembung dan penunjuk daripadanya. Ini mentakrifkan wilayah di luar sempadan.
Dengan set kawasan klip, kod tersebut mengisi wilayah dengan warna latar belakang komponen induk, menjadikan sempadan telus di luar sudut bulat.
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Sempadan Bulat dengan Ketelusan di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!