2011-02-26 12 views
5

ऐसा लगता है कि सेब ने मेरे एप का उपयोग कर एक एपीआई को हटा दिया है। सुनिश्चित नहीं है कि इस के आसपास कैसे काम करें। विशिष्ट उपयोग यहाँ देखा जा सकता है:मैक पर जावा स्विंग ऐप्स में अब बहिष्कृत com.apple.eawt.AplicationAdapter का उपयोग करने का विकल्प क्या है?

http://code.google.com/p/jarzilla/source/browse/trunk/jarzilla/src/main/java/com/googlecode/jarzilla/Jarzilla.java#192

+0

आमतौर पर जब कुछ एपीआई बहिष्कृत किया जाता है, तो इसके दस्तावेज़ीकरण को प्रतिस्थापन का सुझाव देना चाहिए। (मुझे मैक-एडवांस्ड एपीआई के बारे में कुछ नहीं पता है, इसलिए मैं वास्तव में यहां मदद नहीं कर सकता।) –

+0

इसे धन्यवाद मिला। यहां एक ऐसा अंतर है जो अभी भी मेरे लिए काम करता है: [link] (http://code.google.com/p/jarzilla/source/diff?spec=svn31&r=31&format=side&path=/trunk/jarzilla/src/main/ जावा/कॉम/googlecode/jarzilla/jarzilla.java और old_path =/trunk/jarzilla/src/main/java/com/googlecode/jarzilla/jarzilla.java और पुराना = 30) – depsypher

उत्तर

8

ठीक है, googling के एक बिट मुझे मिल गया the API doc (दूसरा मेरे लिए मारा), और यह पहला वाक्य में सही शामिल हैं:

पदावनत ।के बारे में हैन्डलर, प्रेफरेंस हैंडलर, ऐपरेपेन लिस्टनर, ओपनफाइल हैंडलर, प्रिंटफाइल हैंडलर, क्विटहैंडलर, क्विट रेस्पॉन्स द्वारा प्रतिस्थापित किया गया।

(उल्लिखित इंटरफेस और कक्षा के लिंक के साथ)।

तो ऐसा लगता है कि आपको इस सार वर्ग को उपclassing एक वस्तु का उपयोग नहीं करना चाहिए, लेकिन विभिन्न उद्देश्यों के लिए कई वस्तुओं, और प्रत्येक को अपने आवेदन वस्तु के साथ पंजीकृत करें।

+0

आपको एकाधिक ऑब्जेक्ट्स का उपयोग करने की आवश्यकता नहीं है: आप सभी को कार्यान्वित कर सकते हैं एक वर्ग में इंटरफेस। – Pont

+0

@ "एडाप्टर" वर्गों का बिंदु न करें कि उनके पास सभी विधियों के लिए खाली कार्यान्वयन था, और आपको केवल उन्हीं लोगों को ओवरराइड करने की अनुमति दी गई थी। यह इंटरफेस के साथ काम नहीं करता है (कम से कम उस समय काम नहीं किया जब मैंने जवाब दिया, अब हमारे पास इंटरफेस में डिफ़ॉल्ट तरीके हैं)। –

+0

सच है, नए इंटरफ़ेस दृष्टिकोण के साथ आप कोसर ग्रैन्युलरिटी प्राप्त करते हैं: आपको चेरी-पिकिंग विधियों के बजाय सभी या किसी भी इंटरफ़ेस को लागू करना होगा। लेकिन यह मेरे बिंदु को नहीं बदलता है, जो कि आपको "विभिन्न उद्देश्यों के लिए कई वस्तुओं" की आवश्यकता नहीं है, जैसा कि आपने लिखा था: आप एक ही ऑब्जेक्ट का उपयोग कर सकते हैं जो सभी प्रासंगिक इंटरफेस लागू करता है। – Pont

संबंधित मुद्दे