Dialog Box in Java: कई बार हमें Related Controls के एक समूह को Hold करने के लिए Dialog Box की जरूरत होती है। सामान्यतया Dialog Boxes का प्रयोग User से Input प्राप्त करने के लिए किया जाता है।
उदाहरण के लिए “Open” Dialog Box किसी File को Open करने के लिए Use होता है जबकि “Save As” Dialog Box किसी File को Save करने के लिए Use किया जाता है। Dialog Box एक प्रकार का Frame Window ही होता है। अन्तर केवल इतना है कि Dialog Box हमेंशा किसी दूसरे Parent Window का Child Window होता है।
साथ ही हम किसी Dialog Box के साथ Menu Bar को Attach नहीं कर सकते हैं। इनके अलावा जितनी भी परिस्थितियां होती हैं, उनमें Dialog Box Window उसी तरह से काम करता है, जिस तरह से एक Frame Window करता है। यानी हम किसी Dialog Box में भी उसी तरह से विभिन्न GUI Controls Add कर सकते हैं, जिस तरह से किसी Frame Window में करते हैं।
Dialog Boxes Modal या Modeless हो सकते हैं। एक ऐसा Dialog Box जो जब तक Visible रहता है, तब तक हम Parent Window को किसी प्रकार से Access नहीं कर सकते हैं, Modal Dialog Box कहलाता है। यानी जब तक एक Modal Dialog Box Active रहता है, तब तक जितने भी Input किए जाते हैं, उन सभी Inputs को Dialog Box ही Receive करता है।
इसका मतलब ये है कि हम जब तक किसी Modal Dialog Box को Close नहीं कर देते हैं, तब तक हम उसके Parent Window से किसी प्रकार का काम नहीं कर सकते हैं। जबकि यदि Dialog Box Modeless हो, तो ऐसा नहीं होता है। यानी ऐसे Dialog Box के Open होने के स्थिति में भी हम Application के अन्य हिस्सों को Access करने में सक्षम होते हैं।
सामान्यतया Dialog Box Create करने के लिए हमें Dialog Class को Use करना होता है। इस Class में निम्नानुसार दो Constructors होते हैं:
Dialog(Frame parentWindow, boolean mode)
Dialog(Frame parentWindow, String title, boolean mode)
इस Constructor में parentWindow वह Frame Window होता है, जिसमें Dialog Box Child Window की तरह Add किया जाता है। यदि mode में true हो, तो Create होने वाला Dialog Box Modal Dialog Box होता है, अन्यथा ये एक Modeless Dialog Box Create करता है।
title Argument में हम जो String Pass करते हैं, वह String Dialog Box के Title के रूप में दिखाई देती है। सामान्यतया हम Dialog Class को Extend करके उसकी Sub Class Create करते हैं और उसमें Application द्वारा Required Functionalities को Add कर लेते हैं।
// File Name : DialogBoxWithMenuBar.java import java.awt.*; import java.awt.event.*; import java.applet.*; // Create Subclass of Dialog. class SubDialog extends Dialog implements ActionListener { SubDialog(Frame parent, String title){ super(parent, title, false); setLayout(new FlowLayout()); setSize(200, 150); add(new Label("Press this button")); Button btnCancel; add(btnCancel = new Button("Cancel")); btnCancel.addActionListener(this); } public void actionPerformed(ActionEvent actnEvnt) { dispose(); } public void paint(Graphics g) { g.drawString("This is in the dialog box", 10, 60); } } //------------------------------------------------------------------- // Create a subclass of Frame class MenuFrame extends Frame { String message = ""; CheckboxMenuItem debug, test; MenuFrame(String title) { super(title); // Create menubar and add it to frame MenuBar mBar = new MenuBar(); setMenuBar(mBar); // Create Menu Items Menu file = new Menu("File"); MenuItem mNew, mClose; file.add(mNew = new MenuItem("New")); file.add(mClose = new MenuItem("Close")); mBar.add(file); // These are checkable items of edit menu Menu edit = new Menu("Edit"); debug = new CheckboxMenuItem("Debug"); edit.add(debug); test = new CheckboxMenuItem("Testing"); edit.add(test); mBar.add(edit); // Create an Listener Object MyMenuHandler handler = new MyMenuHandler(this); // Register it to receive Menu events mNew.addActionListener(handler); mClose.addActionListener(handler); debug.addItemListener(handler); test.addItemListener(handler); // Create an object to handle window events MyWindowAdapter adapter = new MyWindowAdapter(this); // Register it to receive Window events addWindowListener(adapter); } public void paint(Graphics g) { g.drawString(message, 10, 150); if(debug.getState()) g.drawString("Debug is on ", 10, 220); else g.drawString("Debug is off ", 10, 220); if(test.getState()) g.drawString("Test is on ", 10, 240); else g.drawString("Test is ff ", 10, 240); } } //-------------------------------------------------------------------------- class MyWindowAdapter extends WindowAdapter { MenuFrame myMenuFrame; public MyWindowAdapter(MenuFrame mnuFrame) { this.myMenuFrame = mnuFrame; } public void windowClosing(WindowEvent wndEvnt) { myMenuFrame.dispose(); } } //-------------------------------------------------------------------------- class MyMenuHandler implements ActionListener, ItemListener { MenuFrame myMenuFrame; public MyMenuHandler(MenuFrame myMenuFrame) { this.myMenuFrame = myMenuFrame; } // Handle action events public void actionPerformed(ActionEvent actnEvnt) { String message = "You have selected "; String argument = (String)actnEvnt.getActionCommand(); // Activate a Dialog Box when File->New Option is selected if(argument.equals("New")) { message = message + "New..."; SubDialog dialogBox = new SubDialog(myMenuFrame, "NewDialogBox"); dialogBox.setVisible(true); } // Other Menu Options else if(argument.equals("Close")) message += "Close"; else if(argument.equals("Debug")) message += "Debug"; else if(argument.equals("Testing")) message += "Testing..."; } public void itemStateChanged(ItemEvent itmEvnt) { myMenuFrame.repaint(); } } //-------------------------------------------------------------------------- // Create Frame Window public class DialogBoxWithMenuBar extends Applet { Frame myFrame; public void init() { myFrame = new MenuFrame("Accessible Menu"); int width = Integer.parseInt(getParameter("width")); int height = Integer.parseInt(getParameter("height")); setSize(width, height); myFrame.setSize(width, height); myFrame.setVisible(true); } public void start() { myFrame.setVisible(true); } public void stop() { myFrame.setVisible(false); } }
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Java in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Java Programming Language in Hindi | Page: 682 | Format: PDF