मैं जावा एप्लिकेशन बना रहा हूं जो कुछ प्रोसेसिंग करेगा, फिर उपयोगकर्ता प्रतिक्रिया देने के लिए एक संदेश प्रदर्शित करने की आवश्यकता है।जावा संदेश संवाद बनाने के लिए सबसे तेज़ तरीका (स्विंग/awt/अन्य)?
हालांकि, यह अविश्वसनीय रूप से धीमा प्रतीत होता है - लौटने के लिए दो सेकंड से अधिक समय लग रहा है।
package SwingPlay;
import javax.swing.JFrame;
public class Dialog
{
public static void main(String[] args)
{
JFrame frame = new JFrame("DialogDemo");
}
}
मैं के साथ कमांड लाइन से इस को क्रियान्वित कर रहा हूँ:
java -classpath . SwingPlay.Dialog
आप देख सकते हैं
मैं स्रोत नीचे छीन स्पष्ट अपराधी के लिए, और यहां इस्तेमाल किया कोड है - मैं कुछ भी नहीं कर रहा हूं लेकिन एक जेफ्रेम बना रहा हूं, इसे प्रदर्शित नहीं कर रहा हूं।
मामले में इसे यहाँ प्रासंगिक है, मेरी java -version
उत्पादन होता है:
java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
और यह (वर्तमान में) है विन XP SP2 के खिलाफ चल रहा है।
तो, पहला प्रश्न: यह इतना धीमा क्यों है?
अधिक महत्वपूर्ण बात यह है कि, मुझे बस एक साधारण संदेश (जीयूआई, सीएमडीलाइन नहीं) बिना देरी के प्रदर्शित किया जाना चाहिए - क्या कोई ऐसा करने के लिए कुछ कोड प्रदान कर सकता है?
अद्यतन:
के बारे में थोड़ी उपयोगी हो सकता है:
मैं कई के सिर 'होगा जो एक आवेदन पत्र बनाने रहा हूँ (यानी अलग यूजर इंटरफेस सभी एक ही मूल वर्गों का उपयोग करने के लिए जटिल भागों)।
मेरे पास वर्तमान में एक शुद्ध कमांड लाइन हेड है जो ठीक काम करता है - सीधे जवाब देता है।
मेरे पास नियमित बिंदु & के साथ एक मानक एप्लिकेशन भी होगा GUI पर क्लिक करें, और इस बिट के साथ समस्याओं की पूर्ववत न करें।
मैं वर्तमान में जो काम कर रहा हूं वह इन दोनों का एक संकर है - इसे एक रन बॉक्स (या समान लॉन्चर) से संभवतः तर्क के साथ लॉन्च किया जाएगा, और केवल इसे प्रभावी ढंग से, एक स्टेटस संदेश के साथ जवाब देने की आवश्यकता है, जिसे बर्खास्त किया जा सकता है एक महत्वपूर्ण प्रेस के साथ।
यह बाद वाला एक प्रश्न है जहां प्रश्न केंद्रित है।
जबकि मैं शैल स्क्रिप्ट्स के साथ अपने मौजूदा कमांड लाइन संस्करण का उपयोग करने का विरोध नहीं कर रहा हूं (हालांकि ऐसा नहीं लगता था कि यह आवश्यक होगा!), मौजूदा उत्तर यह सुझाव देते हैं कि चीजें मेरे लिए जितनी तेजी से चल रही हैं दूसरों के लिए - एक उदाहरण मेरे लिए 1460ms लेता है, बनाम 70 एमएमएस - एक महत्वपूर्ण अंतर।
मैं एक स्थिर छवि, लेकिन पाठ का गतिशील टुकड़ा प्रदर्शित नहीं कर रहा हूं। इसे एक और तरीका रखने के लिए, मैं stdout को एक GUI संदेश बॉक्स में रीडायरेक्ट करना चाहता हूं। यदि मैं वास्तव में System.out का उपयोग करता हूं।println यह जल्दी से वापस आता है, लेकिन स्पष्ट रूप से सही प्रारूप में नहीं। –