swing
ग्राफिकल यूजर इंटरफेस के लिए स्विंग का उपयोग करना
खोज…
टिप्पणियों
विंडो बंद करने पर एप्लिकेशन छोड़ना
विंडो बंद होने पर एप्लिकेशन को छोड़ना भूलना आसान है। निम्नलिखित पंक्ति जोड़ना याद रखें।
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //Quit the application when the JFrame is closed
एक खाली विंडो बनाना (JFrame)
JFrame बनाना
एक विंडो बनाना आसान है। आपको सिर्फ JFrame
बनाना है।
JFrame frame = new JFrame();
खिड़की का शीर्षक
आप अपनी खिड़की को एक शीर्षक देना चाह सकते हैं। आप JFrame
बनाते समय, या frame.setTitle(String title)
कॉल करके एक स्ट्रिंग पास करके ऐसा कर सकते हैं।
JFrame frame = new JFrame("Super Awesome Window Title!");
//OR
frame.setTitle("Super Awesome Window Title!");
विंडो का आकार सेट करना
जब यह बनाया गया होगा तो खिड़की जितनी संभव हो उतनी छोटी होगी। इसे बड़ा करने के लिए, आप इसका आकार स्पष्ट रूप से निर्धारित कर सकते हैं:
frame.setSize(512, 256);
या आप pack()
विधि के साथ इसकी सामग्री के आकार के आधार पर फ्रेम का आकार खुद रख सकते हैं।
frame.pack();
setSize()
और pack()
तरीके परस्पर अनन्य हैं, इसलिए एक या दूसरे का उपयोग करें।
विंडो क्लोज पर क्या करें
ध्यान दें कि जब विंडो बंद हो गई है तो एप्लिकेशन को नहीं छोड़ा जाएगा। ऐसा करने के लिए JFrame
बताकर विंडो बंद होने के बाद आप एप्लिकेशन छोड़ सकते हैं।
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
वैकल्पिक रूप से, आप विंडो को बंद होने पर कुछ और करने के लिए कह सकते हैं।
WindowConstants.DISPOSE_ON_CLOSE //Get rid of the window
WindowConstants.EXIT_ON_CLOSE //Quit the application
WindowConstants.DO_NOTHING_ON_CLOSE //Don't even close the window
WindowConstants.HIDE_ON_CLOSE //Hides the window - This is the default action
एक कंटेंट पेन बनाना
एक वैकल्पिक कदम अपनी खिड़की के लिए एक सामग्री फलक बनाना है। यह आवश्यक नहीं है, लेकिन यदि आप ऐसा करना चाहते हैं, तो एक JPanel
बनाएं और JPanel
को कॉल करें frame.setContentPane(Component component)
।
JPanel pane = new JPanel();
frame.setContentPane(pane);
विंडो दिखा रहा है
इसे बनाने के बाद, आप अपने घटकों को बनाना चाहेंगे, फिर विंडो दिखाएं। विंडो को दिखाते हुए ऐसा किया जाता है।
frame.setVisible(true);
उदाहरण
आप में से जो कॉपी और पेस्ट करना पसंद करते हैं, उनके लिए यहां कुछ उदाहरण कोड हैं।
JFrame frame = new JFrame("Super Awesome Window Title!"); //Create the JFrame and give it a title
frame.setSize(512, 256); //512 x 256px size
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //Quit the application when the JFrame is closed
JPanel pane = new JPanel(); //Create the content pane
frame.setContentPane(pane); //Set the content pane
frame.setVisible(true); //Show the window
घटक जोड़ना
एक घटक उपयोगकर्ता इंटरफ़ेस तत्व का कुछ प्रकार है, जैसे कि एक बटन या एक पाठ क्षेत्र।
एक घटक बनाना
घटक बनाना विंडो बनाने के समान है। हालाँकि, JFrame
बनाने के बजाय, आप उस घटक को बनाते हैं। उदाहरण के लिए, JButton
बनाने के लिए, आप निम्न कार्य करते हैं।
JButton button = new JButton();
कई घटक बनाए जाने पर उनके पास पैरामीटर पारित कर सकते हैं। उदाहरण के लिए, एक बटन को प्रदर्शित करने के लिए कुछ पाठ दिया जा सकता है।
JButton button = new JButton("Super Amazing Button!");
यदि आप एक बटन नहीं बनाना चाहते हैं, तो इस पृष्ठ पर एक अन्य उदाहरण में सामान्य घटकों की एक सूची पाई जा सकती है।
उन मापदंडों को पारित किया जा सकता है जो घटक से घटक में भिन्न होते हैं। जाँचने का एक अच्छा तरीका है कि वे जो स्वीकार कर सकते हैं वह आपके IDE (यदि आप एक का उपयोग करते हैं) के भीतर के पैरामीटर्स को देखकर है। डिफ़ॉल्ट शॉर्टकट नीचे सूचीबद्ध हैं।
- इंटेलीज आईडीईए - विंडोज / लिनक्स:
CTRL + P
- इंटेलीज आईडिया - ओएस एक्स / मैकओएस:
CMD + P
- ग्रहण:
CTRL + SHIFT + Space
- NetBeans:
CTRL + P
घटक दिखा रहा है
एक घटक बनने के बाद, आप आमतौर पर इसके मापदंडों को निर्धारित करेंगे। इसके बाद, आपको इसे कहीं और डालने की आवश्यकता है, जैसे कि आपके JFrame
, या यदि आपने एक बनाया है तो अपने कंटेंट पेन पर।
frame.add(button); //Add to your JFrame
//OR
pane.add(button); //Add to your content pane
//OR
myComponent.add(button); //Add to whatever
उदाहरण
यहाँ एक विंडो बनाने, एक कंटेंट पेन सेट करने और उसमें एक बटन जोड़ने का एक उदाहरण है।
JFrame frame = new JFrame("Super Awesome Window Title!"); //Create the JFrame and give it a title
frame.setSize(512, 256); //512 x 256px size
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //Quit the application when the JFrame is closed
JPanel pane = new JPanel(); //Create the content pane
frame.setContentPane(pane); //Set the content pane
JButton button = new JButton("Super Amazing Button!"); //Create the button
pane.add(button); //Add the button to the content pane
frame.setVisible(true); //Show the window
घटकों के लिए पैरामीटर सेट करना
घटकों में विभिन्न पैरामीटर हैं जो उनके लिए निर्धारित किए जा सकते हैं। वे घटक से घटक के लिए अलग-अलग हो तो देखना एक अच्छा तरीका करने के लिए क्या मानकों घटकों के लिए सेट किया जा सकता टाइप करना आरंभ करने के लिए है componentName.set
, और अपने आईडीई का स्वत: पूर्ण करते हैं (यदि आप एक आईडीई का उपयोग करते हैं) तरीके सुझाव देते हैं। कई IDE में डिफ़ॉल्ट शॉर्टकट, यदि यह स्वचालित रूप से दिखाई नहीं देता है, तो CTRL + Space
।
सामान्य पैरामीटर जो सभी घटकों के बीच साझा किए जाते हैं
विवरण | तरीका |
---|---|
सबसे छोटा आकार सेट करता है जो घटक हो सकता है (केवल अगर लेआउट प्रबंधक न्यूनतम संपत्ति का सम्मान करता है) | setMinimumSize(Dimension minimumSize) |
सबसे बड़ा आकार सेट करता है कि घटक हो सकता है (केवल अगर लेआउट प्रबंधक अधिकतम संपत्ति का सम्मान करता है) | setMaximumSize(Dimension maximumSize) |
घटक की अनुमानित आकार निर्धारित करता है (केवल अगर लेआउट प्रबंधक पसंदीदा संपत्ति का सम्मान करता है) | setPreferredSize(Dimension preferredSize) |
घटक को दिखाता या छिपाता है | setVisible(boolean aFlag) |
सेट करता है कि घटक को उपयोगकर्ता इनपुट का जवाब देना चाहिए या नहीं | setEnabled(boolean enabled) |
पाठ का फ़ॉन्ट सेट करता है | setFont(Font font) |
टूलटिप का पाठ सेट करता है | setToolTipText(String text) |
घटक के Backgroundcolor सेट करता है | setBackground(Color bg) |
घटक का अग्रभूमि (फ़ॉन्ट रंग) सेट करता है | setForeground(Color bg) |
अन्य घटकों में सामान्य पैरामीटर
आम घटक | विवरण | तरीका |
---|---|---|
JLabel , JButton , JCheckBox , JRadioButton , JToggleButton , JMenu , JMenuItem , JTextArea , JTextField | प्रदर्शित पाठ सेट करता है | setText(String text) |
JProgressBar , JScrollBar , JSlider , JSpinner | घटक के न्यूनतम और अधिकतम मानों के बीच एक संख्यात्मक मान सेट करें | setValue(int n) |
JProgressBar , JScrollBar , JSlider , JSpinner | सेट का सबसे छोटा संभव मूल्य जो value संपत्ति हो सकता है | setMinimum(int n) |
JProgressBar , JScrollBar , JSlider , JSpinner | सेट का सबसे बड़ा संभव मूल्य है कि value संपत्ति हो सकती है | setMaxmimum(int n) |
JCheckBox , JToggleBox | सेट का मूल्य सही है या गलत (उदाहरण: चेकबॉक्स की जांच होनी चाहिए?) | setSelected(boolean b) |
आम घटक
विवरण | कक्षा |
---|---|
बटन | JButton |
चेकबॉक्स | JCheckBox |
ड्रॉप डाउन मेनू / कॉम्बो बॉक्स | JComboBox |
लेबल | JLabel |
सूची | JList |
मेनू पट्टी | JMenuBar |
मेनू बार में मेनू | JMenu |
एक मेनू में आइटम | JMenuItem |
पैनल | JPanel |
प्रगति पट्टी | JProgressBar |
रेडियो बटन | JRadioButton |
स्क्रॉल पट्टी | JScrollBar |
स्लाइडर | JSlider |
स्पिनर / नंबर पिकर | JSpinner |
तालिका | JTable |
पेड़ | JTree |
पाठ क्षेत्र / बहुभाषी पाठ क्षेत्र | JTextArea |
पाठ का क्षेत्र | JTextField |
टूल बार | JToolBar |
इंटरएक्टिव यूजर इंटरफेस बनाना
एक बटन होने से सब ठीक है और अच्छा है, लेकिन अगर क्लिक करने से कुछ नहीं होता है तो क्या बात है? ActionListener
का उपयोग आपके बटन या अन्य घटक को सक्रिय करने के लिए किया जाता है।
ActionListener
जोड़ना इस तरह से किया जाता है।
buttonA.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//Code goes here...
System.out.println("You clicked the button!");
}
});
या, यदि आप जावा 8 या इसके बाद के संस्करण का उपयोग कर रहे हैं ...
buttonA.addActionListener(e -> {
//Code
System.out.println("You clicked the button!");
});
उदाहरण (जावा 8 और ऊपर)
JFrame frame = new JFrame("Super Awesome Window Title!"); //Create the JFrame and give it a title
frame.setSize(512, 256); //512 x 256px size
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //Quit the application when the JFrame is closed
JPanel pane = new JPanel(); //Create a pane to house all content
frame.setContentPane(pane);
JButton button = new JButton("Click me - I know you want to.");
button.addActionListener(e -> {
//Code goes here
System.out.println("You clicked me! Ouch.");
});
pane.add(buttonA);
frame.setVisible(true); //Show the window
घटक लेआउट का आयोजन
UI में एक और परिणाम के बाद घटकों को जोड़ना मुश्किल है, क्योंकि सभी घटक कहीं न कहीं हैं । घटकों को ऊपर से नीचे तक आदेश दिया जाता है, प्रत्येक घटक एक अलग "पंक्ति" में।
इसे LayoutManager
लिए और आपको लेआउट घटकों की संभावना के साथ डेवलपर के रूप में आसानी से प्रदान करने के लिए स्विंग के पास LayoutManager
s है।
ये लेआउट प्रबंधक लेआउट प्रबंधकों के साथ-साथ अलग लेआउट प्रबंधक विषयों के परिचय में अधिक व्यापक रूप से शामिल हैं: