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()); } }
আউটপুট