2010-03-13 16 views
16

नेटबीन पर जावा में initComponents() विधि में कोड को संशोधित/जोड़ने के लिए कैसे करें? जब मैं कोड की कोई भी पंक्ति जोड़ने की कोशिश करता हूं तो यह क्षेत्र केवल पढ़ने जैसा लगता है और इसे भूरे रंग में हाइलाइट किया गया है! यह शायद सुरक्षा के लिए है, लेकिन मुझे लगता है कि इसे अक्षम करने का एक तरीका है।NetBeans का उपयोग कर जावा में initComponents() विधि को कोड/संशोधित करने के लिए कैसे करें?

उत्तर

11

आईडीआई द्वारा initComponents() विधि को पुन: उत्पन्न किया जाता है क्योंकि आप जीयूआई संपादक में अपना यूआई बनाते हैं। उपयोगकर्ता को लिखित कोड ओवरराइट करने से इस पुनर्जन्म को रोकने के लिए विधि 'संरक्षित' है।

कई तरीकों से इस विधि में कोड जोड़ना, परोक्ष रूप से कर रहे हैं:

  1. ड्रॉप खिड़की के लिए डिजाइन संपादक 'कैनवास' पर एक नया घटक।

  2. निम्नलिखित कोड संपत्ति में से एक के हिस्से के रूप कोड दर्ज करें: पूर्व निर्माण कोड, पोस्ट-निर्माण कोड, पूर्व Init कोड, पोस्ट-Init संहिता, के बाद श्रोता कोड, पूर्व जनसंख्या कोड, पोस्ट-जनसंख्या कोड और बाद-ऑल-सेट कोड।

    कुछ अन्य कोड गुण हैं जो initComponents() विधि को परिवर्तित नहीं करते हैं ... लेकिन बहुत उपयोगी हो सकते हैं: पूर्व-घोषणा कोड और पोस्ट-घोषणा कोड। alt text http://blogs.sun.com/vkraemer/resource/code-properties.png नोट: इन गुणों के लिए संपादक 'समृद्ध' नहीं है, इसलिए मैं "नियमित संपादक" में विधियों को बनाने की अनुशंसा करता हूं जिन्हें आप केवल initComponents() में कॉल करते हैं।

आप स्थिति या 'आधार पैनल' या नियंत्रण के 'नियमित' गुण बदलकर initComponents में कोड() विधि संशोधित कर सकते हैं।

13

हां initComponents विधि केवल आईडीई के लिए पूर्ण नियंत्रण रखने के लिए पढ़ी जाती है। InitComponents के बाद आप कन्स्ट्रक्टर में अपना जोड़ सकते हैं।

public class NewJFrame extends javax.swing.JFrame { 

/** Creates new form NewJFrame */ 
public NewJFrame() { 
    initComponents(); 
    myInitComponents(); 
} 

public void myInitComponents() { 
} 
+0

यह पोस्ट अनुचित है, कस्टम घटकों को जोड़ने का एक बहुत साफ तरीका है। धन्यवाद। – Jigzat

+0

यह मेरे लिए काम करता है और कोड अभी भी कम या कम साफ और पठनीय कई धन्यवाद ;-) – Sangimed

+0

एक विकल्प सुझाया गया है [यहां] (http://stackoverflow.com/a/2561540/230513)। – trashgod

2

स्रोत और मैटिस जीयूआई संपादक दोनों में परिवर्तन की अनुमति देने के लिए, नेटबीन संपादन में "संरक्षित ब्लॉक" कहता है। जबकि आप कल्पना कर सकते हैं कि आईडीई आपके द्वारा लिखे गए लगभग किसी भी प्रकार के जीयूआई कोड की व्याख्या करने में सक्षम है, व्यावहारिक रूप से, आईडीई डेवलपर्स के लिए एक ही विधि (initComponents()) में स्वचालित रूप से जेनरेट किए गए जीयूआई कोड को समाहित करना बहुत आसान है और छोड़ दें आपके लिए संपादित करने के लिए आराम करो।

आप क्या आप जानते हैं कि आप क्या कर रहे हैं कुछ कर रहे हैं, तो आप आसानी से एक बाहरी संपादक से जावा फाइल संपादित कर सकते हैं, लेकिन:

  1. कहीं
  2. जांच वर्तमान संस्करण को बचाने के लिए सुनिश्चित हो कि आपके द्वारा किए गए
3

संभवतः आप जो कर रहे हैं वह Matisse GUI टूल का उपयोग करके एक एप्लिकेशन लिख रहा है, तो आपके परिवर्तन ने नेटबीन विज़ुअल एडिटर में कक्षा खोलकर कुछ तोड़ नहीं दिया।

मैटिस गैर संपादन योग्य कोड ब्लॉक उत्पन्न करता है। यह Matisse द्वारा आवश्यक है ताकि उपकरण कोड बेस के साथ सिंक्रनाइज़ हो।

मैटिस द्वारा initComponents() जैसे कोड ब्लॉक के बाद या उसके बाद कस्टम कोड सम्मिलित करने की अनुमति देने के लिए कई विकल्प उपलब्ध हैं।

छवि के नीचे देखें:

Code insertion

यह एक JPanel और कोड प्रविष्टि विकल्पों में से कुछ के लिए गुण टैब को दर्शाता है।

1

मुझे परीक्षण और त्रुटि से पता चला है कि उपयोगकर्ता को पैनल को देखने से पहले प्रारंभिकता को "प्री-इनिट कोड" के रूप में जोड़ा जाना चाहिए। मेरे मामले में, मुझे एक ड्रॉप डाउन बॉक्स (जिसे एडब्ल्यूटी में "चॉइस" कहा जाता है) को पॉप्युलेट करने की आवश्यकता थी। Matisse का उपयोग करने पर बहुत कम विस्तृत दस्तावेज उपलब्ध प्रतीत होता है। इसलिए, मुझे आशा है कि इससे दूसरों की मदद मिलेगी।

2

यदि आप Design View में घटक पर राइट-क्लिक करें, और उसके बाद "Customize Code" चयन पर क्लिक करें, तो आप InitComponent कोड में कोड को संशोधित कर सकते हैं। स्पष्ट कोड की कई पंक्तियों को अनुकूलित किया जा सकता है।

0

सभी कोड का चयन करें और बाहरी संपादक जैसे जीएडिट या नोटपैड में कॉपी करें।

फिर अपनी jframe फ़ाइल हटाएं।

उसी नाम के साथ उसी पैकेज में नेटबीन्स में एक नया जावा क्लास बनाएं।

संपादक फ़ाइल से सभी सामग्री कॉपी करें और इसे अपने नव निर्मित जावा क्लास में पेस्ट करें।

0
  1. बंद Netbeans
  2. जाओ पथ फ़ोल्डर में जहाँ आपके प्रपत्र फ़ाइल है
  3. बैकअप एक्सटेंशन ".form" और "जावा"
  4. संपादित एक्सटेंशन के साथ 2 फ़ाइलें "के साथ 2 फ़ाइलें। फॉर्म "और" .java "नोटपैड संपादक में। उदाहरण के लिए यदि आपका फॉर्म नाम "मायफॉर्म" है तो आपके पास फ़ोल्डर में "myForm.form" और "myForm.java" फ़ाइलें होनी चाहिए।
  5. पहली फ़ाइल ".form" xml फ़ाइल है और दूसरा ".java" एक कोड जावा फ़ाइल
  6. सावधानी से संपादित करें दोनों फ़ाइलों में अपना कोड परिवर्तनों को सहेजें और नेटबैन खोलें। यह बात करता है!
संबंधित मुद्दे