जावा में जेपीनेल पैडिंग


107

मेरे पास मेरे जावा स्विंग एप्लिकेशन के लिए एक प्रारूपण प्रश्न है। यह काफी सरल होना चाहिए, लेकिन मुझे कोई सहायता प्राप्त करने में कठिनाई हो रही है (प्रत्येक विषय जेपीएल में किसी भी डिफ़ॉल्ट पैडिंग को हटाने के बारे में लगता है )। मेरे विभिन्न JPanels में पाठ पक्षों और शीर्ष को गले लगाता है, रंगीन सीमाओं को छूता है: मैं पैडिंग कैसे जोड़ सकता हूं? धन्यवाद।

जवाबों:


234

EmptyBorderअपने आसपास सेट करें JPanel
उदाहरण:

JPanel p =new JPanel();
p.setBorder(new EmptyBorder(10, 10, 10, 10));

45
या आपके पास मौजूदा सीमा के आसपास कुछ अतिरिक्त पैडिंग हो सकती है:p.setBorder(BorderFactory.createCompoundBorder(new EmptyBorder(10, 10, 10, 10), new EtchedBorder()));
Synox

विंडो के आकार बदलने पर क्या होता है? यह समाधान अच्छा नहीं है तो क्या यह है?
एंड्रयू एस

@ साइनक लेजेंड वास्तव में! ध्यान दें कि आप EmptyBorder को आंतरिक पैडिंग के लिए अंतिम पैरामीटर के रूप में डाल सकते हैं
हंटर एस

3

जब आपको JPanelआम तौर पर अंदर पैडिंग की आवश्यकता होती है तो आप अपने द्वारा उपयोग किए जा रहे लेआउट प्रबंधक के साथ पैडिंग जोड़ते हैं। ऐसे मामले हैं जो आप की सीमा का विस्तार कर सकते हैं JPanel


1
लेआउट मैनेजर में पैडिंग जोड़ना (मेरे मामले में, ग्रिडलाइउट) आसन्न पैनलों के बीच में पैडिंग जोड़ता है, लेकिन एक व्यक्तिगत पैनल के भीतर नहीं। लेकिन एक सीमा क्या करेगी, मदद के लिए धन्यवाद।
कोनर

3

मुझे लगता है कि आपके JPanel में JTextField होता है, डेमो के लिए।

वे घटक वह JTextComponent#setMargin()विधि प्रदान करते हैं जो प्रतीत होती है कि आप क्या देख रहे हैं।

यदि आप अपने पाठ के चारों ओर किसी भी आकार की खाली सीमा की तलाश कर रहे हैं, तो ठीक है, उपयोग करें EmptyBorder


0
JPanel p=new JPanel();  
GridBagLayout layout=new GridBagLayout(); 
p.setLayout(layout); 
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill=GridBagConstraints.HORIZONTAL; 
gbc.gridx=0;   
gbc.gridy=0;   
p2.add("",gbc);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.