A JDialog ডায়ালগ এর একটি সাবক্লাস ক্লাস এবং এটি মিনিমাইজ ধরে রাখে না এবং সর্বোচ্চ করুন উইন্ডোর উপরের ডান কোণে বোতাম। মডাল নামে দুই ধরনের ডায়ালগ বক্স রয়েছে এবং নন-মোডা l একটি ডায়ালগ বক্সের ডিফল্ট বিন্যাস হল বর্ডার লেআউট।
নীচের প্রোগ্রামে, আমরা AlphaContainer কাস্টমাইজ করে একটি স্বচ্ছ JDialog বাস্তবায়ন করতে পারি ক্লাস করুন এবং paintComponent()কে ওভাররাইড করুন পদ্ধতি।
উদাহরণ
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());
}
} আউটপুট
