2013-10-09 6 views
5

Google suggets वर्टिकल पैनेल की जगह फ़्लोपेनल का उपयोग करते हैं क्योंकि वर्टिकल पैनेल मानक मोड (http://www.gwtproject.org/doc/latest/DevGuideUiPanels.html) में अच्छी तरह से काम नहीं करता है।FlowPanel वर्टिकल पैनेल की तरह अपने बच्चों को लंबवत रूप से कैसे प्रवाहित करें?

myflowPanel.getElement().getStyle().setFloat(Float.NONE); 

तो कैसे FlowPanel VerticalPanel की तरह खड़ी अपने बच्चों प्रवाह बनाने के लिए काम नहीं करता है?

उत्तर

11

FlowPanel को एचटीएमएल '< div>' के रूप में प्रस्तुत किया गया है, इसलिए इसमें कुछ भी जोड़ा गया है जो इसके डिफ़ॉल्ट प्रदर्शन के आधार पर रखा जाएगा।

उदाहरण बच्चों के लिए के रूप में प्रदान विगेट्स एक '< div>' की तरह Label खड़ी तैनात किया जाएगा, क्योंकि उनके डिफ़ॉल्ट व्यवहार एक ब्लॉक के रूप में है, लेकिन अगर आप एक TextBox जोड़ने यह एक '< इनपुट>' जिसका डिफ़ॉल्ट के रूप में रेंडर किया जाएगा प्रदर्शन इनलाइन-ब्लॉक है।

तो जिस तरह से एक FlowPanel में बच्चों निपटान के लिए प्रत्येक बच्चों के लिए उचित रूप से संपत्ति display स्थापित कर रही है, float संपत्ति, या flexbox की तरह किसी भी अन्य सीएसएस ट्वीक साथ खेल रहा है। आम तौर पर gwt डिजाइनर ui-binder टेम्पलेट्स में इस सेटिंग शैलियों करते हैं। लेकिन आप यह कर सकते हैं यदि आप कोड से क्या करना चाहते हैं:

// Example of a flow panel with all elements disposed in vertical 
    FlowPanel verticalFlowPanel = new FlowPanel(); 
    TextBox textBox = new TextBox(); 
    Label label = new Label("Foo"); 
    textBox.getElement().getStyle().setDisplay(Display.BLOCK); 
    verticalFlowPanel.add(textBox); 
    verticalFlowPanel.add(label); 
    RootPanel.get().add(verticalFlowPanel); 

    // Example of a flow panel with all elements disposed in horizontal 
    FlowPanel horizontalFlowPanel = new FlowPanel(); 
    TextBox textBox2 = new TextBox(); 
    Label label2 = new Label("Foo"); 
    label2.getElement().getStyle().setDisplay(Display.INLINE_BLOCK); 
    horizontalFlowPanel.add(textBox2); 
    horizontalFlowPanel.add(label2); 
    RootPanel.get().add(horizontalFlowPanel); 
+0

यदि सभी बच्चे उसी विजेट प्रकार से लेबल करते हैं जैसे लेबल यह क्षैतिज रूप से बह जाएगा। यदि 1 विजेट लेबल है और दूसरा टेक्स्टबॉक्स है, तो यह लंबवत प्रवाह करेगा। किसी भी मुझे कोई समाधान मिला – Tum

+0

@ मिंह है, यह सच नहीं है, यह विजेट की प्रकृति पर निर्भर करता है। यदि सभी विजेट लेबल हैं, तो वे हमेशा लंबवत प्रवाह करते हैं, जब तक कि आप शैली को किसी अन्य चीज़ पर सेट न करें। –

+0

आपको अपने उत्तर के लिए थैक्स, लेकिन क्या यह सच है कि यह वर्टिकल पैनेल या क्षैतिज पैनेल से फ़्लोपेनल के साथ बहुत अधिक भाग्य चलाता है? चूंकि वीपी और एचपी

टैग का उपयोग करते हैं? – Tum

0

बच्चों के लिए display:block; का प्रयोग तो यह ठीक हो जाएगा। मैंने पाया कि वर्टिकल पैनेल को फ्लोपेनल में परिवर्तित करने के बाद मेरा ऐप बहुत तेजी से चलता है।

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