2010-11-12 18 views
6

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

प्रश्न: पक्ष में एक फॉर्मैनल के साथ एक नई विंडो कैसे खोलें।

संदर्भ: मेरे पास एक ऐप है जो बहुत सारी वस्तुओं को सूचीबद्ध करता है, मैं चाहता हूं कि कोई प्रविष्टि संपादित करे, मैं एक नई विंडो खोलना चाहता हूं ताकि वे गुणों को संपादित कर सकें और फिर सहेजें। एक मानक चीज जो आपको बहुत से अनुप्रयोगों में मिलती है।

वास्तुकला: मैं, यूआई कहा जाता है एक ग्राहक मॉड्यूल है यह एक दर्जन कक्षाओं कि विगेट्स बनाने और उसे एक मुख्य क्षेत्र को भरने के लिए जब एक मेनू से चयन किया है। मेरे पास UI.html नामक एक HTML पृष्ठ है जिसमें सिर में टैग है। बस।

विकल्प Ive देखा

  1. कॉल Window.Open() लेकिन आप एक html फ़ाइल को परिभाषित करने की जरूरत है। मेरे पास एक नहीं है। मैं एक खाली बना सकता हूं लेकिन आप इसमें विजेट कैसे इंजेक्ट करते हैं?

  2. उपयोग jsni $ WND एक नई विंडो बनाने और इसे करने के लिए एक संदर्भ पाने के लिए। लेकिन मैं इसमें एक फॉर्म पैनल इंजेक्ट कैसे करूं ??

  3. popuppanel का उपयोग करें। वे चूसने लगते हैं - प्लस अगर जेएस के माध्यम से एक खिड़की खोलना काफी सरल है तो मैं इसे ग्वाट में होने की उम्मीद करता हूं।

शायद मुझे समझ में नहीं आ रहा है कि जीडब्ल्यूटी का उपयोग कैसे करें मुझे पता नहीं है।

किसी भी मदद की सराहना की जाएगी

धन्यवाद

+0

सर्वश्रेष्ठ उत्तर मैंने देखा है में विगेट्स है: https://groups.google.com/forum/?fromgroups#!topic/google-web-toolkit/G73s5fqpYBg –

उत्तर

0

तुम सिर्फ एक DialogBox का उपयोग नहीं कर सकते हैं?

Example

1

मैं Bogdan से सहमत: एक DialogBox का प्रयोग करें।

आप नहीं कर सकते हैं

, आप Window.open() आप विकल्प 1 में वर्णित के रूप में:

  1. एक और GWT मॉड्यूल, और प्रपत्र बनाएँ।एचटीएमएल कि यह
  2. Window.open("form.html?entry=54")
  3. लोड होगा प्रपत्र gwt मॉड्यूल URL से पढ़ी है,, प्रवेश लोड यह संपादित करने के लिए अनुमति देते हैं, और Save और Cancel बटन प्रदान
  4. पॉपअप बंद जब Save या Cancel क्लिक किया जाता है
+0

आपके त्वरित उत्तरों के लिए धन्यवाद दोस्तों। डायलॉगबॉक्स के साथ मेरा गोमांस है कि इसमें कोई समाधान नहीं है और न ही आपके खिड़की को साझा करने के लिए सामान्य विंडो लुक, यूआरएल स्थान इत्यादि – Primus

12

तरह से मैं इस काम मिल गया इस प्रकार है: मैं लिखा एक jsni विधि एक नई विंडो

public static native BodyElement getBodyElement() /*-{ 
     var win = window.open("", "win", "width=940,height=400,status=1,resizeable=1,scrollbars=1"); // a window object 
     win.document.open("text/html", "replace"); 
खोलने के लिए 10

मैं नई विंडो पर एक बुनियादी शरीर जोड़ा गया है और शरीर तत्व

win.document.write("<HTML><HEAD>"+css1+css2+"</HEAD><BODY><div class=\"mainpanel\"><div style=\"width: 100%; height: 54px;\"><div id=\"mainbody\"class=\"mainbody\" style=\"width: 100%;\"></div></div></div></BODY></HTML>"); 
     win.document.close(); 
     win.focus(); 
     return win.document.body; 
    }-*/; 

मैं तो अपने मुख्य जावा विधि से इस विधि कहा जाता

BodyElement bdElement = getBodyElement(); 

मैं तो मेरे पैनल जिनमें से बहुत से इंजेक्शन लौटे लौटे शरीर तत्व

SystemConfiguration config = new SystemConfiguration();    bdElement.getOwnerDocument().getElementById("mainbody").appendChild(config.getElement()); 
+0

+1 है। – nikhil