يمكن أن تمثل المكونات الشفافة تحديات إعادة الطلاء عند تحديث محتواها، مما يؤدي إلى تأثيرات بصرية غير جذابة . تستكشف هذه المقالة حلاً يتضمن AlphaComposite وتوفر أمثلة التعليمات البرمجية لتنفيذه.
يسمح AlphaComposite بمعالجة كيفية تركيب الرسومات على الإطار. من خلال تعيين القاعدة المناسبة، يصبح من الممكن التحكم في شفافية العناصر المقدمة.
أحد الأساليب هو توسيع JLabel وتنفيذ Icon. يتيح ذلك إنشاء مكون شفاف يمكنه عرض النص.
لجعل الإطار بأكمله شفافًا، اضبط لون خلفية الإطار ليحتوي على مكون الشفافية. ومع ذلك، من المهم ملاحظة أن هذا سيؤثر أيضًا على عتامة المحتوى.
import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.JLabel; public class TranslucentJLabel extends JLabel { public TranslucentJLabel() { setOpaque(false); setBackground(new Color(0f, 0f, 0f, 0.5f)); setFont(new Font("Serif", Font.PLAIN, 48)); } @Override protected void paintComponent(Graphics g) { Graphics2D g2d = (Graphics2D) g; g2d.setComposite(AlphaComposite.SrcOver); super.paintComponent(g2d); } }
import java.awt.AlphaComposite; import java.awt.Color; import javax.swing.JFrame; public class TranslucentFrame extends JFrame { public TranslucentFrame() { setBackground(new Color(0f, 0f, 0f, 0.7f)); setUndecorated(true); setSize(300, 200); setLocationRelativeTo(null); setVisible(true); } @Override public void paint(Graphics g) { Graphics2D g2d = (Graphics2D) g; g2d.setComposite(AlphaComposite.SrcOver); super.paint(g2d); } }
من خلال تنفيذ هذه التقنيات، يمكنك إنشاء إطارات ومكونات شفافة ذات سلوك فعال في إعادة الطلاء.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3