Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में जावा स्विंग की वास्तुकला के बारे में बताएं?


जावा स्विंग एपीआई का एक सेट है जो एक ग्राफिकल यूजर इंटरफेस प्रदान करता है (जीयूआई ) जावा कार्यक्रमों के लिए। जावा स्विंग को पहले के एपीआई के आधार पर विकसित किया गया था जिसे एब्सट्रैक्ट विंडोज टूल . कहा जाता है यह (एडब्ल्यूटी)। जावा स्विंग 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();
         }
      });
   }
}

आउटपुट

जावा में जावा स्विंग की वास्तुकला के बारे में बताएं?


  1. एक समलंब का क्षेत्रफल ज्ञात करने के लिए जावा प्रोग्राम

    इस लेख में हम समझेंगे कि समलम्ब चतुर्भुज का क्षेत्रफल कैसे ज्ञात किया जाता है। ट्रेपेज़ियम एक प्रकार का चतुर्भुज है जिसमें कम से कम एक जोड़ी पक्ष एक दूसरे के समानांतर होता है। समलम्ब चतुर्भुज की समानांतर भुजाओं को आधार कहा जाता है और समलंब की गैर-समानांतर भुजाओं को पाद कहा जाता है। इसे समलम्बाकार भी

  1. एक आयत का परिमाप ज्ञात करने के लिए जावा प्रोग्राम

    इस लेख में, हम समझेंगे कि एक आयत का परिमाप कैसे ज्ञात करें। आयत के परिमाप की गणना आयत की सभी भुजाओं की लंबाई जोड़कर की जाती है। नीचे एक आयत का प्रदर्शन है। एक आयत का परिमाप आयत की दो लंबाई और दो चौड़ाई की कुल लंबाई है - इनपुट मान लीजिए हमारा इनपुट है - The length of the sides of a rectangle ar

  1. जावा में स्विंग थ्रेड-सुरक्षित है?

    नहीं, जावा स्विंग जावा में घटक थ्रेड-सुरक्षित नहीं हैं। क्यों स्विंग घटक थ्रेड-सुरक्षित नहीं हैं जावा स्विंग का एक मुख्य कारण थ्रेड-सुरक्षित नहीं है, इसके घटकों को विस्तारित करने के कार्य को सरल बनाना है। जावा स्विंग का एक अन्य कारण थ्रेड-सुरक्षित नहीं है क्योंकि इसमें ताले प्राप्त करना और जारी कर