java - Animation in GIF not working when processing is going on -
मैं निम्न कोड का उपयोग करके एक GIF एनीमेशन प्रदर्शित कर रहा हूं:
ImageIcon ii = new ImageIcon (getClass () getResource ( "संसाधन / wait_animated.gif")।); जेएलैबल एल 2 = नया जेएलैबेल ("कृपया प्रतीक्षा करें ...", आईआई, स्विंग कॉन्सटेंट्स। सीए); ii.setImageObserver (एल 2); d.setIconImage (शून्य); जेडीस्कटॉपपैन डीपी = नया जेडीस्कटॉपपैन (); Dp.setPreferredSize (नया आयाम (300,50)); l2.setLocation (dp.getX (), dp.getY ()); L2.setPreferredSize (नया आयाम (300,50)); d.setDefaultCloseOperation (JDialog.DISPOSE_ON_CLOSE); D.setTitle ("प्रतीक्षा करें संवाद"); d.add (एल 2); JDialog.setDefaultLookAndFeelDecorated (सही); d.pack (); D.setPreferredSize (नया आयाम (50,50)); d.setLocation (300,300); d.setAlwaysOnTop (सही); d.setVisible (सही); जीआईएफ़ में एनीमेशन बहुत अच्छी तरह से प्रदर्शित होता है हालांकि, जब इसके बाद कुछ प्रोसेसिंग हो जाती है (मैं डेटाबेस का नवीनीकरण करते समय प्रतीक्षा संवाद का उपयोग कर रहा हूं); एनिमेशन लटका हुआ है क्या कोई सुझाव देता है कि एक सरल और amp; इसे प्राप्त करने का प्रभावी तरीका? सरल मेरे लिए बेहतर है अग्रिम धन्यवाद
जीआईएफ की एनीमेशन स्विंग इवेंट धागा द्वारा किया जाता है। मुझे लगता है कि आप अपने दम पर किसी भी धागे नहीं पैदा कर रहे हैं, इसलिए जब आप डेटाबेस अपडेट कर रहे हैं तब यह ईवेंट धागा द्वारा भी किया जाता है। इस प्रकार, घटना धागा डेटाबेस के साथ काम करने में व्यस्त है और एक ही समय में एनीमेशन को अद्यतन नहीं कर सकता है।
डेटाबेस प्रसंस्करण (और अन्य भारी कार्य) अलग थ्रेड (ओं) में ले जाएं आम तौर पर, सभी प्रसंस्करण जो काफी समय ले सकता है अलग थ्रेड में किया जाना चाहिए।
Comments
Post a Comment