मैं अपने मॉडल द्वारा समर्थित सूर्य के उदाहरण JTreeTable
के थोड़ा संशोधित संस्करण का उपयोग कर रहा हूं। यह तीसरा उदाहरण होगा (बुकमार्क http://java.sun.com/products/jfc/tsc/articles/bookmarks/ पर)।JTreeTable डीएनडी पागल ब्लिंकिंग ड्रॉप कर्सर
सब कुछ ड्रैग और ड्रॉप समर्थन को छोड़कर अपेक्षित काम करता है। मैं डीएनडी चाहता था जो JTree
प्रदान करता है। चूंकि JTreeTable
एक विस्तारित JTable
है, यह JTable.DropLocation
कक्षा को ड्रॉप स्थानों को निर्धारित करने के लिए प्रदान करता है जो JTreeTable
(कोई पथ और कोई बाल अनुक्रमणिका) के पेड़ प्रदान किए गए कॉलम में सामान छोड़ते समय पर्याप्त जानकारी प्रदान नहीं करता है। मैंने पहले ही हल कर लिया है कि एक कस्टम DropLocation
कक्षा बनाकर जो JTable
और JTree
संस्करणों के संयोजन पर आधारित है। मैंने TreeTableCellRenderer
कक्षा की पेंट विधि को भी संशोधित किया है जो उपयोगकर्ता को यह नई जानकारी दिखाने के लिए उल्लिखित JTreeTable
कार्यान्वयन द्वारा प्रदान किया गया है (अब वह यह देखने में सक्षम है कि चयनित नोड के पहले या बाद में नया नोड रखा जाएगा या नहीं यदि पेड़ कॉलम के अंदर, जैसा कि आप JTree
से अपेक्षा करेंगे)।
हालांकि एक समस्या है। पेड़ कॉलम के अंदर ड्रॉप स्थान प्रदान किए जाने पर माउस कर्सर पागल हो रहा है। ऐसा प्रतीत होता है और फिर बाद में कुछ मिलीसेकंड गायब हो जाता है या यह इतना तेज़ होता है कि ड्रैग कर्सर भी दिखाया नहीं जाता है। यह असम्बद्ध सूर्य के उदाहरण के साथ भी होता है। मैं अंधेरे में पूरी तरह से हूं कि यह क्यों हो रहा है। http://www.java.net/node/663106 पर एक ही समस्या के साथ एक और व्यक्ति मिला, लेकिन वहां प्रदान किया गया समाधान घटक के ड्रॉप स्थान को शून्य पर सेट करता है और JTreeTable.getDropLocation()
विधि का उपयोग करके पुनर्प्राप्त नहीं किया जा सकता है। मुझे इसे अपने संशोधित DropLocation
में बदलने के लिए इसकी आवश्यकता है और उसके बाद सामग्री को पेंट करें। मैं अपने उपयोग के मामले के लिए उचित समाधान के बहुत करीब हूं कि मैं इसका स्वाद ले सकता हूं। यह कर्सर झपकी बात मेरे रास्ते में एकमात्र बाधा है। कोई विचार?
जावा 1.6 का उपयोग करना।
पुनश्च: मैं क्योंकि वे सब दिखाई (Netbeans रेखांकित करें या JXTreeTable
) की तरह मौजूदा घटकों में से एक JTable.DropLocation
समस्या से पीड़ित होने के लिए एक कस्टम JTreeTable
और नहीं करने के लिए तय कर लिया है और पहले या बाद में छोड़ने के लिए सहायता प्रदान नहीं करते चयनित पेड़ नोड (केवल अंदर)। यदि आप ऐसे घटक के बारे में जानते हैं जो ऐसी कार्यक्षमता प्रदान करता है तो मुझे इसके बारे में सुनकर खुशी होगी।
इस सवाल का पोस्ट स्क्रिप्टम में मैं गलत आरोप लगा 'org.netbeans.swing.Outline' और' JXTreeTable' से पहले या चयनित पेड़ नोड के बाद छोड़ने समर्थन करने में सक्षम नहीं किया जा रहा की । यह सच नहीं है क्योंकि ये घटक वास्तव में इसका समर्थन करते हैं। वे दोनों परोक्ष रूप से एक जेटीबल subclass। हालांकि यह सच है कि 'JTable.DropLocation' पथ जानकारी प्रदान नहीं करता है, आप इसे हमेशा तालिका पंक्ति और कॉलम के माध्यम से प्राप्त कर सकते हैं जो इसके द्वारा प्रदान किया जाता है। अगर मुझे यह पता होता, तो मैंने कभी भी अपना खुद का घटक रोलिंग नहीं किया होता। मैं इसके खिलाफ सलाह देता हूं। वास्तव में – predi