:
setBorder(BorderFactory.createLineBorder(Color.white));
तो सफेद करने के लिए पृष्ठभूमि सेट
यह सभी परिस्थितियों में काम करता है बनाने के लिए एक ही रास्ता निम्नलिखित सेटिंग है:
setBorder (BorderFactory.createLineBorder (new Color (0, 0, 0, 0), 2));
अन्यथा (जब आप मूल कंटेनर की शून्य पृष्ठभूमि है) आप "J" कर्सर को अपने JTextField के बाएं किनारे पर हमेशा के लिए शेष देखेंगे। (आप अलग सीमा मोटाई के लिए कुछ परीक्षण करने के लिए और काफी अजीब तरीके से पालन JTextField कर्सर स्थानों जब आप इसे पहली बार सक्रिय करें।)
वैकल्पिक रूप से आप सेट कर सकते हैं:
setBorder (BorderFactory.createLineBorder (getBackground(), 2));
लेकिन आप क्षेत्र opticaly प्राप्त करेंगे सभी चार दिशाओं में 2 पिक्सल से बड़ा। यदि आप सीमा मोटाई निर्दिष्ट नहीं करते हैं, तो आप इस सीमा के बीच कर्सर और हमेशा के लिए शेष क्षेत्र देखेंगे।
यह जानना दिलचस्प होगा कि आप किस प्रणाली/पर्यावरण का उपयोग कर रहे हैं। या इसमें अधिक कोड शामिल है ... यह (फिर से) मेरे लिए पूरी तरह से काम करता है। कुछ छवियों (और कोड) के साथ इस छवि को देखें: http: // img709।imageshack.us/img709/9034/fields.jpg –