2012-01-21 21 views
10

मुझे किसी गेम मेनू की तरह, लंबवत रूप से कुछ जेबटन पर जेएलएबल की स्थिति की आवश्यकता है। उन्हें सभी केंद्रित होना चाहिए। मैंने पहले ही मिगलाउट डाउनलोड किया है, लेकिन मुझे यकीन नहीं है कि इसका उपयोग कैसे किया जाए, इसलिए मैं अपने घटकों को लंबवत और केंद्रित, मिगलाउट या नहीं करने का तरीका चाहता हूं। इसके अलावा, मैं एक आईडीई जीयूआई डिजाइनर का उपयोग नहीं करना चाहता हूं।जावा वर्टिकल लेआउट?

+0

* "मैं एक आईडीई जीयूआई डिजाइनर का उपयोग नहीं करना चाहते हैं" * +1 :) इस तरह के डिजाइनर * कर सकते हैं * एक डेवलपर कि पहले से ही लेआउट और उन्हें कैसे गठबंधन करने के लिए समझता है के लिए वृद्धि उत्पादकता। जब तक आप कोर जे 2 एसई लेआउट (+ शायद एक तृतीय पक्ष लेआउट या 3) में कुशल बन जाते हैं, तो यह GUI डिज़ाइनर से लड़ते समय एक जीयूआई डिज़ाइन करने की कोशिश करने में सहायक नहीं होता है। –

+0

समस्या यह है कि, मैंने पहले से ही अपने सभी जीयूआई सामान हाथ से लिखा है (इसके अलावा), और मैं संशोधित नहीं करना चाहता हूं इससे बड़ा लाभ मिलेगा। – Jimmt

उत्तर

22

इसके लिए आप एक (सिंगल कॉलम) GridLayout या BoxLayout का उपयोग कर सकते हैं। अधिक टिप्स, विचार और कार्य स्रोत के लिए Using Layout Managers & A Visual Guide to Layout Managers देखें।

+3

+1, मेरे सामने 10 सेकंड – Jeffrey

+0

@ जेफरी शायद इसलिए था क्योंकि मैंने लिंक जोड़ने के लिए संपादन से पहले जवाब पोस्ट किया था। ;) –

+0

BoxLayout बटन के लिए अच्छा काम करता है, लेकिन JLabels के लिए नहीं ... मेरा जेएलएबल अभी भी बाईं ओर गठबंधन है। – Jimmt

1

आपको BoxLayout का उपयोग करना चाहिए। यहाँ एक बुनियादी उदाहरण

import javax.swing.BoxLayout; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 

public class VerticalPanel extends JPanel { 

    public VerticalPanel() { 
     super(); 
     setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); 

     for (int i = 0; i < 10; i++) { 
      add(new JLabel("Label n°" + i)); 
     } 
    } 

}