2010-05-28 20 views
9

जावा स्विंग को बंद करने से कैसे रोकें एप्लिकेशन, जब उपयोगकर्ता बंद बटन पर क्लिक करता है?जावा स्विंग को बंद करने से रोकें एप्लिकेशन

+1

एक और अधिक बुनियादी सवाल यह है: उन खिड़की को बंद करके अपने अनुप्रयोग से बाहर नहीं कर सकते, कि वे किस तरह छोड़ने की अपेक्षा की जाती है? – Avrom

उत्तर

12

frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); आपके मुख्य फ्रेम पर इसे रोकना चाहिए।

  • DO_NOTHING_ON_CLOSE (WindowConstants में परिभाषित):

    setDefaultCloseOperation(int) विधि आप क्या जब उपयोगकर्ता JFrame बंद कर देता है क्या करने के लिए चयन कर सकते हैं कुछ मत करो; को विंडो में ऑपरेशन को प्रबंधित करने के लिए प्रोग्राम की आवश्यकता है, एक पंजीकृत विंडोलिस्टर ऑब्जेक्ट के बंद करें विधि ।

  • HIDE_ON_CLOSE (विंडो कॉन्स्टेंट्स में परिभाषित): स्वचालित रूप से पंजीकृत विंडोलिस्टर ऑब्जेक्ट्स को आमंत्रित करने के बाद फ्रेम को छुपाएं।

  • DISPOSE_ON_CLOSE (WindowConstants में परिभाषित): स्वचालित रूप से छिपाने के लिए और किसी भी पंजीकृत WindowListener वस्तुओं लागू करने के बाद फ्रेम निपटाने।

  • EXIT_ON_CLOSE (जेएफआरएएम में परिभाषित): सिस्टम निकास विधि का उपयोग कर एप्लिकेशन से बाहर निकलें। इसे केवल अनुप्रयोगों में उपयोग करें।

+0

क्या आप मुझे उदाहरण दे सकते हैं कि उपयोगकर्ता इस घटना को कैसे पकड़ सकता है जब उपयोगकर्ता विंडो बंद कर देता है? मैं फ्रेम को निपटाने से पहले कुछ स्थैतिक चर को रीसेट करना चाहता हूं, लेकिन मुझे यह नहीं पता कि यह कैसे किया जाए। अगली रीलोड के रूप में, फ्रेम उन चर के पहले से सेट मानों के कारण गलत तरीके से कार्य करता है – Johnydep

+0

@ जॉनीडेप - आपको वास्तव में टिप्पणियों में प्रश्न नहीं पूछना चाहिए, बल्कि एक पूर्ण [प्रश्न] (http://stackoverflow.com/questions/ पूछो), तो अगली बार ऐसा करें। संक्षिप्त उत्तर: आपके द्वारा बनाए गए जेएफआरएम एक विंडो है, और आप एक विंडो लिस्टर जोड़ सकते हैं। – Gnoupi

+0

ठीक है अगली बार मैं सावधान रहूंगा;) – Johnydep

2
JFrame frame = new JFrame(); 
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); 

frame.addWindowListener(new WindowAdapter() { 
// handle window closing 
}); 
यहाँ
संबंधित मुद्दे