2010-03-11 16 views
9

मुझे स्विंग में ड्रैग और ड्रॉप सिस्टम बनाने की आवश्यकता है जहां ड्रैग के दौरान कर्सर से खींची जा रही चीज़ की एक छवि संलग्न की गई है। सिद्धांत रूप में इसकिसी छवि के साथ खींचें और छोड़ें

public Icon TransferHandler.getVisualRepresentation(Transferable t) 

साथ achieveable है, लेकिन वहाँ एक लंबे समय से बग (here) इस विधि कभी नहीं कहा जाता है इसका मतलब है कि प्रतीत होता है। मुझे पता है कि मैं ड्रैगसोर्स इत्यादि के साथ अपने स्वयं के डीएनडी सिस्टम को लागू करके ऐसा कर सकता हूं, लेकिन क्या किसी को एक आसान कामकाज के बारे में पता है जो मुझे चाहिए जो मुझे चाहिए?

उत्तर

2

अंत में मैंने जो भी चाहता था उसे लागू करने के लिए पुरानी शैली ड्रैग-एंड-ड्रॉप का उपयोग किया। हालांकि मेरे पास सोचने का कोई कारण नहीं है कि अस्वस्थ का समाधान ठीक से काम नहीं करेगा - यह उस समय का सबसे अच्छा तरीका था।

3

विधि TransferHandler.getVisualRepresentation जावा 1.4 में समर्थित नहीं था, मुझे यकीन नहीं है कि यह तय किया गया था या नहीं। यह जांचने के लिए कि क्या यह वर्तमान संस्करण में काम करता है, आप इसे example

+1

यह मेरे संस्करण, मैक संस्करण 1.6.0 में तय नहीं किया गया था। – DJClayworth

1

अनुकूलित कर सकते हैं मैंने आपके द्वारा सूचीबद्ध बग रिपोर्ट के नीचे सुझाए गए "कार्य के आसपास" का उपयोग किया है। यह मेरे लिए काफी अच्छा काम किया। अनुमोदित मैं मैक ओएस एक्स के साथ इसका उपयोग कर रहा था इसलिए मुझे नहीं पता कि विंडरज़ इसका समर्थन करेगा या नहीं। यह अच्छा होगा अगर वे इसे कम से कम काम करने के लिए ठीक कर दें जैसे कि वे इरादा रखते हैं और बस दस्तावेज करते हैं कि यह कहां होगा और काम नहीं करेगा ... ओह ठीक है। शुभ लाभ।

2

आप छवि को एक jlabel (ड्रैजेस्टर पहचानकर्ता में) डालने का प्रयास कर सकते हैं और droptargetListener dragover विधि में इसकी सीमा निर्धारित कर सकते हैं। वैकल्पिक रूप से, माउस श्रोता को कार्यान्वित करने के बारे में कैसे (मैंने इस बाद की विधि का परीक्षण नहीं किया है)।

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