जावा स्विंग एपीआई का एक सेट है जो एक ग्राफिकल यूजर इंटरफेस प्रदान करता है (जीयूआई ) जावा कार्यक्रमों के लिए। जावा स्विंग को पहले के एपीआई के आधार पर विकसित किया गया था जिसे एब्सट्रैक्ट विंडोज टूल . कहा जाता है यह (एडब्ल्यूटी)। जावा स्विंग AWT की तुलना में अधिक समृद्ध और अधिक परिष्कृत GUI घटक प्रदान करता है। GUI घटक सरल स्तर से लेकर जटिल . तक के होते हैं पेड़ और तालिका . जावा स्विंग प्लग करने योग्य रूप और अनुभव प्रदान करता है अंतर्निहित प्लेटफॉर्म से स्वतंत्र जावा प्रोग्रामों को देखने और महसूस करने की अनुमति देने के लिए।
जावा स्विंग की विशेषताएं
जावा स्विंग प्लेटफार्म स्वतंत्र है और एमवीसी (मॉडल व्यू और कंट्रोलर) ढांचे का पालन करता है।
- प्लग करने योग्य लुक और फील - जावा स्विंग कई लुक और फील का समर्थन करता है और वर्तमान में Windows . का समर्थन करता है , यूनिक्स , आदर्श , और देशी जावा मेटल लुक और फील और उपयोगकर्ताओं को एप्लिकेशन को पुनरारंभ किए बिना रनटाइम पर देखने और महसूस करने की अनुमति देता है। ऐसा करने से, उपयोगकर्ता यह चुनने के लिए अपनी पसंद बना सकते हैं कि कौन सा रंगरूप उनके लिए सबसे अच्छा है।
- हल्के घटक - सभी जावा स्विंग घटक हल्के हैं कुछ शीर्ष-स्तरीय कंटेनरों . को छोड़कर . एक हल्का इसका मतलब है कि ग्राफिक्स . के ड्राइंग प्रिमिटिव का उपयोग करके घटक खुद को रेंडर या पेंट करता है होस्ट ऑपरेटिंग सिस्टम पर निर्भर होने के बजाय ऑब्जेक्ट (OS ) नतीजतन, एप्लिकेशन प्रस्तुति तेजी से प्रदान की जाती है और कम मेमोरी की खपत होती है एडब्ल्यूटी जैसे पिछले जावा जीयूआई अनुप्रयोगों की तुलना में।
- सरलीकृत MVC - जावा स्विंग एक सरलीकृत मॉडल-व्यू-कंट्रोलर आर्किटेक्चर का उपयोग करता है (एमवीसी ) इसके प्रत्येक घटक के पीछे मुख्य डिज़ाइन के रूप में जिसे मॉडल-प्रतिनिधि . कहा जाता है . इस वास्तुकला के आधार पर, प्रत्येक जावा स्विंग घटक में एक मॉडल . होता है और एक UI प्रतिनिधि और एक दृश्य . को लपेटता है और एक नियंत्रक एमवीसी . में वास्तुकला . यूआई प्रतिनिधि स्क्रीन पेंटिंग और जीयूआई घटनाओं को संभालने के लिए जिम्मेदार है। मॉडल जानकारी या घटक की स्थिति को बनाए रखने का प्रभारी है।
उदाहरण
import javax.swing.*; import java.awt.*; import java.awt.event.*; // model part class Model { private int x; public Model() { x = 0; } public Model(int x) { this.x = x; } public void setX(){ x++; } public int getX() { return x; } } // view part class View { private JFrame frame; private JLabel label; private JButton button; public View(String text) { frame = new JFrame("View"); frame.getContentPane().setLayout(new BorderLayout()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(200,200); frame.setVisible(true); label = new JLabel(text); frame.getContentPane().add(label, BorderLayout.CENTER); button = new JButton("Button"); frame.getContentPane().add(button, BorderLayout.SOUTH); } public JButton getButton() { return button; } public void setText(String text) { label.setText(text); } } // controller part class Controller { private Model model; private View view; private ActionListener actionListener; public Controller(Model model, View view) { this.model = model; this.view = view; } public void contol() { actionListener = new ActionListener() { public void actionPerformed(ActionEvent actionEvent) { linkBtnAndLabel(); } }; view.getButton().addActionListener(actionListener); } private void linkBtnAndLabel() { model.setX(); view.setText(Integer.toString(model.getX())); } } // main class public class Main { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { try { // Look and Feel, Java Look and Feel UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception ex) { } Model model = new Model(0); View view = new View("-"); Controller controller = new Controller(model,view); controller.contol(); } }); } }
आउटपुट