কম্পিউটার টিউটোরিয়াল

জাভাতে ট্রান্সপারেন্ট JDialog বাস্তবায়ন করা


JDialog হল Dialog ক্লাসের একটি সাবক্লাস এবং উইন্ডোর উপরের ডান কোণে এটিতে মিনিমাইজ এবং ম্যাক্সিমাইজ বাটন থাকে না। ডায়লগ বক্সের দুটি ধরন আছে: মডাল এবং নন-মডাল। ডায়লগ বক্সের ডিফল্ট লেআউট BorderLayout।

নিচের প্রোগ্রামে, আমরা AlphaContainer ক্লাস কাস্টমাইজ করে এবং paintComponent() মেথড ওভাররাইড করে একটি ট্রান্সপারেন্ট JDialog বাস্তবায়ন করতে পারি।

উদাহরণ

import java.awt.*; 
import javax.swing.*; 

public class TransparentDialog { 
    public static void main (String[] args) { 
        JDialog dialog = new JDialog(); 
        dialog.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
        dialog.getRootPane().setOpaque(false); 
        dialog.setUndecorated(true); 
        dialog.setBackground(new Color (0, 0, 0, 0)); 
        JPanel panel = new JPanel(new BorderLayout ()); 
        panel.setBackground(new Color (0, 0, 0, 64)); 
        dialog.add(new AlphaContainer(panel)); 
        JSlider slider = new JSlider(); 
        slider.setBackground(new Color(255, 0, 0, 32)); 
        panel.add (new AlphaContainer(slider), BorderLayout.NORTH); 
        JButton button = new JButton("Label text"); 
        button.setContentAreaFilled(false); 
        panel.add(button, BorderLayout.SOUTH); 
        dialog.setSize(400, 300); 
        dialog.setLocationRelativeTo(null); 
        dialog.setVisible(true); 
    } 
} 

class AlphaContainer extends JComponent { 
    private JComponent component; 
    
    public AlphaContainer(JComponent component){ 
        this.component = component; 
        setLayout(new BorderLayout()); 
        setOpaque(false); 
        component.setOpaque(false); 
        add(component); 
    } 
    
    @Override 
    public void paintComponent(Graphics g) { 
        g.setColor(component.getBackground()); 
        g.fillRect(0, 0, getWidth(), getHeight()); 
    } 
}

আউটপুট

জাভাতে ট্রান্সপারেন্ট JDialog বাস্তবায়ন করা


  1. জাভাতে JPanel-এর paintComponent() মেথড কীভাবে বাস্তবায়ন করবেন?

  2. জাভাতে কত প্রকার JDialog বক্স তৈরি করা যায়?

  3. জাভাতে JToggleButton কীভাবে বাস্তবায়ন করবেন?

  4. জাভাতে JWindow ব্যবহার করে স্প্ল্যাশ স্ক্রিন কীভাবে বাস্তবায়ন করবেন?