2010-02-17 5 views
6

कोड इस तरह है:JTextField पर setBorder काम नहीं करता है? या यह करता है?

JTextField txt = new JTextField(); 
txt.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.red)); 

हालांकि पाठ क्षेत्र setBorder करने के लिए अपने कॉल की अनदेखी कर रहा है। कोई भी बदलाव नहीं।

मैं एक JLabel (उदाहरण के लिए) के साथ बदलना

JLabel txt = new JLabel(); 
txt.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.red)); 

मैं लाल बॉर्डर देखना होगा थे।

क्या कोई मुझे बता सकता है क्यों? या JTextField में सीमा जोड़ने के लिए मुझे बेहतर समझाएं?

+0

"काम" करना चाहिए। क्या आप JTextField या कस्टम क्लास का उपयोग कर रहे हैं जो JTextField को बढ़ाता है? JTextField में आप और क्या कर रहे हैं? क्या आप सीमा कहीं और स्थापित कर रहे हैं? – Pace

+0

यह साबित करने में दो सेकंड लगते हैं कि यह करता है या नहीं। ईमानदार। या तो आप मेरा शब्द लेते हैं या थोड़ा परीक्षण लिखते हैं और अपने आप को देखते हैं। वैसे भी जानकारी के अन्य बिट्स हैं: uimanager विंडोज UIManager.setLookAndFeel ("com.sun.java.swing.plaf.windows.WindowsLookAndFeel") पर सेट है; और मैं उस वर्ग पर काम नहीं करता जो JTextField को बढ़ाता है। मैं खुद JTextField का उपयोग कर रहा हूं। –

+0

"साबित करने के लिए" पीएल एंड एफ, पीएल एंड एफ, मंच, मंच के संस्करण और संभावित रूप से कॉन्फ़िगरेशन के संस्करण पर निर्भर होने जा रहा है। साबित करना इतना आसान नहीं है। यदि आप एक संकलित उदाहरण शामिल करना चाहते हैं तो यह कोशिश करना आसान होगा। –

उत्तर

6

चेक बाहर this explanation/recommendation from the Java API

सामान्य तौर पर, जब आप एक मानक घुमाओ घटक JPanel या JLabel के अलावा अन्य पर एक सीमा निर्धारित करना चाहते हैं, हम अनुशंसा करते है कि आप एक JPanel और सेट में घटक डाल जेपीनल पर सीमा।

तो ... आपको अपने जेटीक्स्टफिल्ड को जेपीनल या जेलाबेल में घोंसला करना चाहिए, और जेपीनेल या जेलाबेल पर सीमा डालना चाहिए। देखा!

+5

हे। मुझे लगता है कि 'BorderUIRESource' का उपयोग करने के लिए कोड की एक गेंद को ठीक करने से एपीआई दस्तावेज़ों की एक पंक्ति को बदलना आसान है। –

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