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

जावा में invokeLater() मेथड को कैसे कॉल करें?


invokeLater() मेथड SwingUtilities क्लास का एक स्टैटिक मेथड है और इसका उपयोग AWT इवेंट डिस्पैचर थ्रेड में असिंक्रोनसली कार्य करने के लिए किया जा सकता है। SwingUtilities.invokeLater() मेथड SwingUtilities.invokeAndWait() की तरह काम करता है सिवाय इसके कि यह अनुरोध को इवेंट क्यू पर रखता है और तुरंत वापस आता है। invokeLater() मेथड Runnable द्वारा संदर्भित कोड ब्लॉक के निष्पादन की प्रतीक्षा नहीं करता जिसे टार्गेट द्वारा संदर्भित किया जाता है।

सिंटैक्स

public static void invokeLater(Runnable target)

उदाहरण

import java.awt.*; import java.awt.event.*; import javax.swing.*; 
public class InvokeLaterTest extends Object { 
    private static void print(String msg) { 
        String name = Thread.currentThread().getName(); 
        System.out.println(name + ": " + msg); 
    } 
    public static void main(String[] args) { 
        final JLabel label= new JLabel("प्रारंभिक टेक्स्ट"); 
        JPanel panel = new JPanel(new FlowLayout()); 
        panel.add(label); 
        JFrame f = new JFrame("InvokeLater Test"); 
        f.setContentPane(panel); 
        f.setSize(400, 300); 
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        f.setLocationRelativeTo(null); 
        f.setVisible(true); 
        try { 
            print("5 सेकंड के लिए सो रहा है"); 
            Thread.sleep(5000); 
        } catch(InterruptedException ie) { 
            print("सोते समय बाधित"); 
        }  
        print("इवेंट थ्रेड के लिए कोड ब्लॉक बना रहा है");  
        Runnable setTextRun = new Runnable() { 
            public void run() { 
                try { 
                    Thread.sleep(100);  
                    print("setText() करने वाला है");  
                    label.setText("नया टेक्स्ट"); 
                } catch(Exception e) { 
                    e.printStackTrace(); 
                } 
            } 
        };  
        print("invokeLater() कॉल करने वाला है"); 
        SwingUtilities.invokeLater(setTextRun); 
        print("invokeLater() से वापस");  
    } 
}

आउटपुट

जावा में invokeLater() मेथड को कैसे कॉल करें?


main: 5 सेकंड के लिए सो रहा है main: इवेंट थ्रेड के लिए कोड ब्लॉक बना रहा है main: invokeLater() कॉल करने वाला है main: invokeLater() से वापस AWT-EventQueue-0: setText() करने वाला है


जावा में invokeLater() मेथड को कैसे कॉल करें?


  1. Java में JRadioButtons को क्षैतिज रूप से कैसे संरेखित करें? Java में JRadioButtons को क्षैतिज रूप से कैसे संरेखित करें?

    JRadioButton JToggleButton का एक उपवर्ग है और यह एक दो-स्थिति वाला बटन है जो या तो चयनित या अनचयनित हो सकता है। चेकबॉक्स के विपरीत, रेडियो बटन एक समूह से जुड़े होते हैं और एक समूह में केवल एक रेडियो बटन चुना जा सकता है, जिसे ButtonGroup वर्ग का उपयोग करके लागू किया जा सकता है। जब समूह में रेडियो बट

  1. Java में JButton का HTML टेक्स्ट कैसे लागू करें? Java में JButton का HTML टेक्स्ट कैसे लागू करें?

    एक JButton AbstractButton का एक उपवर्ग है और यह Java Swing पदानुक्रम में एक महत्वपूर्ण घटक है। एक JButton का उपयोग ज्यादातर लॉगिन-आधारित अनुप्रयोगों में किया जाता है। जब हम किसी बटन को दबाते या क्लिक करते हैं तो एक JButton एक ActionListener इंटरफ़ेस उत्पन्न कर सकता है। एक JButton में टेक्स्ट या आइक

  1. Java में JPanel के paintComponent() विधि को कैसे लागू करें? Java में JPanel के paintComponent() विधि को कैसे लागू करें?

    एक JPanel एक हल्का कंटेनर है और यह Java में एक अदृश्य घटक है। JPanel का डिफ़ॉल्ट लेआउट FlowLayout है। JPanel बनने के बाद, अन्य घटकों को JPanel ऑब्जेक्ट में इसकी add() विधि को कॉल करके जोड़ा जा सकता है जो Container क्लास से विरासत में मिली है। paintComponent() यह विधि JPanel पर बैकग्राउंड कलर बनाने