मैंने addWindowListener
की कोशिश की और windowClosing
लागू किया, यह काम करता है, जब मैं बंद बटन दबाता हूं, लेकिन जब मैं Cmd+Q
को बंद करने के लिए उपयोग करता हूं, तो windowClosing
नहीं कहा जा रहा है, मैं इसे कैसे हल कर सकता हूं? क्या मुझे मुख्य श्रोता के माध्यम से विंडोज़ पर Cmd+Q
मैक, Alt + F4
पर पता लगाने की आवश्यकता है? क्या यह विंडो बंद करने के लिए एक सामान्य श्रोता है, बंद बटन या कीबोर्ड के माध्यम से जो भी हो, या घटना Ctrl+Alt+Delete
या Cmd+Option+Esc
मारने पर ध्यान केंद्रित करने के लिए? धन्यवाद।जेएफआरएएम का पता लगाने के लिए कैसे बंद है?
उत्तर
लगता है जैसे आपको कुछ KeyListeners
और किसी विशेष ऑपरेटिंग सिस्टम के लिए इच्छित एक का पता लगाने के लिए एक कारखाना जोड़ने की आवश्यकता है।
मुझे यकीन है कि क्या स्थिति Macs पर है नहीं कर रहा हूँ, लेकिन विंडोज पर आप बंद करें बटन से windowClosing() कॉलबैक मिलता है, Alt-F4
; और यदि आप कार्य प्रबंधक के माध्यम से ऐप बंद करते हैं। यदि आप प्रक्रिया को मारने के लिए टास्क मैनेजर का उपयोग करते हैं तो आपको कॉलबैक नहीं मिलता है, लेकिन मैं वैसे भी उम्मीद नहीं करता।
आपको अपने जेएफआरएएम उदाहरण पर setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
पर कॉल करने के लिए याद किया गया है, है ना? com.apple.eawt.ApplicationListener
handleQuit(ApplicationEvent event)
शायद चाल करना होगा:
आप इस OSX लाइब्रेरी का उपयोग कर सकते हैं।
डॉक्स से जानकारी:
जब आवेदन घटना छोड़ो भेज दिया जाता है कहा जाता है। यह घटना तब उत्पन्न होती है जब उपयोगकर्ता एप्लिकेशन मेनू से बाहर निकलता है, जब उपयोगकर्ता कमांड-क्यू टाइप करता है, या जब उपयोगकर्ता नियंत्रण डॉक में आपके एप्लिकेशन आइकन पर क्लिक करता है और छोड़ देता है। आप या तो छोड़ने के अनुरोध को स्वीकार या अस्वीकार कर सकते हैं।
बेशक यह समाधान विंडोज पर काम नहीं करेगा। जहां तक मुझे पता है कि कोई सार्वभौमिक समाधान नहीं है, इसलिए यह शायद जाने का सबसे अच्छा तरीका है।
एक और तरीका है windowClosed() चीज़ विधि ओवरराइड करने का प्रयास करें। उम्मीद है कि यह आपके लिए काम करेगा।
जैसा कि आपने कहा था कि जब आप (x) बटन पर क्लिक करते हैं तो विंडोक्लोसिंग को कॉल किया जाता है। उपयोग कर रहा है पर मैं एक मैक और जिस तरह मैं सीएमडी + Q आवेदन के लिए एक संकेत भेजने के लिए भी कर रहा हूँ Runtime.addShutDownHook
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
// code to run when CMD+Q is pressed
}
}
- 1. बंद ऑपरेशन पर जेएफआरएएम
- 2. आवाज का पता लगाने
- 3. का पता लगाने के लिए Ctrl +
- 4. , का पता लगाने के लिए जब आवेदन बंद कर दिया है
- 5. विवरण तत्व खोलने या बंद करने का पता लगाने
- 6. स्ट्रीम के अंत का पता लगाने के लिए कैसे?
- 7. ड्रैग के बाद 'फ्लिक' का पता लगाने के लिए कैसे?
- 8. स्वाइप पता लगाने के लिए
- 9. यह पता लगाने के लिए कि विंडोज
- 10. डिकनेक्टेड डुप्लेक्स मतदान क्लाइंट का पता लगाने के लिए
- 11. एक बंद करने के बिना एक जेएफआरएएम बंद करें?
- 12. उपयोगकर्ता गतिविधि का पता लगाने
- 13. हर विधि का पता लगाने के लिए कैसे
- 14. मॉडल से विशेषता परिवर्तन का पता लगाने के लिए कैसे?
- 15. T-SQL समारोह का पता लगाने के लिए कैसे
- 16. स्थापित क्रोम संस्करण का पता लगाने के लिए कैसे?
- 17. स्थान परिवर्तन का पता लगाने के लिए कैसे करें
- 18. स्क्रिप्ट प्रवाह का पता लगाने के लिए कैसे करें
- 19. फ़ायरफ़ॉक्स में रीडायरेक्ट का पता लगाने के लिए कैसे?
- 20. कोड परिवर्तन आवृत्ति का पता लगाने के लिए कैसे?
- 21. क्यूटी में उपयोगकर्ता निष्क्रियता का पता लगाने के लिए कैसे?
- 22. फ़ाइल का पता लगाने के लिए कैसे करें
- 23. PHP में कोड निष्पादन का पता लगाने के लिए कैसे?
- 24. काउंटर ओवरफ़्लो का पता लगाने/रोकने के लिए कैसे करें
- 25. जावास्क्रिप्ट में JSON समर्थन का पता लगाने के लिए कैसे?
- 26. माईस्क्ल/innodb में deadlocks का पता लगाने के लिए कैसे?
- 27. पायथन: डीबग दुभाषिया का पता लगाने के लिए कैसे करें
- 28. क्लासपाथ में डुप्लिकेट जेएआर का पता लगाने के लिए कैसे?
- 29. किसी छवि में आकार का पता लगाने के लिए कैसे?
- 30. माउस व्हील झुकाव का पता लगाने के लिए कैसे?
http://stackoverflow.com/questions/2061194/swing-on-osx-how -to-trap-command-q – dacwe
http://www.leepoint.net/notes-java/GUI/containers/10windows/12frameclose.html –
@TedWong क्या आपको अपनी समस्या का समाधान मिला? यदि आपने किया तो कृपया अपना उत्तर पोस्ट करें। – Igor