2010-03-10 8 views
6

मैं एक और सबविंडो से एक सबविंडो खोलना चाहता हूं। यही है, मेरे पास उस विंडो में एक पॉपअप सबविंडो है, मैंने एक बटन रखा है। अगर हम उस बटन पर क्लिक करते हैं तो एक और पॉपअप सबविंडो खोलना चाहिए। जब मैं यह कोशिश कर रहा हूं तो मुझे त्रुटि मिल रही है कि "java.lang.IllegalArgumentException: आप केवल एप्लिकेशन-स्तरीय विंडो के अंदर विंडो जोड़ सकते हैं।" क्या कोई मुझे बता सकता है कि वाडिन में इसे कैसे हल किया जाए।वाडिन में एक और सबविंडो से नया सबविंडो कैसे खोलें?

उत्तर

12

आपको एप्लिकेशन के लिए मुख्य विंडो के संदर्भ की आवश्यकता है और उसमें एक सबविंडो जोड़ें।

yourCurrentSubWindow.getApplication().getMainWindow().addWindow(myNewSubWindow); 

उम्मीद है कि इससे मदद मिलती है।

+0

मेरे मामले में मैं एक संदर्भ मैं अपने CustomComponent के पास के साथ एक ही करने की कोशिश की है और वहाँ से खिड़की जोड़ने की कोशिश की: refToApplicaiton.getMainWindow()। addWindow (myNewSubWindow); लेकिन मुझे एक ही त्रुटि मिलती है। कोई उपाय? – javydreamercsw

3

बस पिछले समाधान करने के लिए एक छोटा सा सुधार:

yourCurrentSubWindow.getApplication().getMainWindow().addWindow(myNewSubWindow); 

उन div-ठिकानों एम्बेडेड बच्चे खिड़कियों उप खिड़कियों शामिल नहीं हो सकता है, लेकिन मुख्य विंडो (और किसी भी अन्य शीर्ष स्तर देशी विंडो) कर सकते हैं।

0

Vaadin 7 पर इस इस प्रकार किया जा सकता है:

getUI().addWindow(myNewSubWindow);