मैं बहुत आभारी होंगे में आपकी सलाह और मदद:SWT: कैसे "प्रस्तुत करना" के लिए पृष्ठभूमि में एक विजेट/एक offscreenbuffer
मैं कैसे पृष्ठभूमि में एक SWT विजेट/घटक प्रदान कर सकते हैं (? Offscreenbuffer) और खोल/विजेट के ही स्क्रीनशॉट ले रहा है :
क्या मैं वर्तमान में है::
Display display = new Display();
Shell shell = new Shell(display);
// ...
MyWidgetComponent mwc = new MyWidgetComponent(shell, SWT.BORDER);
shell.open();
Image screenshot = new Image(shell.getDisplay(), shell.getBounds());
GC.copyArea(screenshot, 0, 0);
//...
समस्या "पेंट" पिक्सल है कि विजेट/घटक द्वारा तैयार किये गए थे हार्डडिस्क पर उन्हें बचाने के लिए मिलता है काम करता है, लेकिन यह एक नया विंडो खुल जाएगा टास्कबार में डब्ल्यू। ऐसा कुछ है जो मैं नहीं चाहता।
जो मैं प्राप्त करना चाहता हूं वह है: मैं इस एप्लिकेशन को "सर्वर एप्लिकेशन" के रूप में पृष्ठभूमि में पूरी तरह से चलाने के लिए चाहता हूं (उदाहरण के लिए एम्बेड करें और इसे सर्वलेट में कॉल करें)। तो MyWidgetComponent को पिक्सेल द्वारा पूरी तरह से ऑफस्क्रीनबफर में पिक्सेल द्वारा प्रस्तुत किया जाना चाहिए और बाद में मैं पिक्सेल को पुनर्प्राप्त कर सकता हूं और उन्हें हार्डडिस्क में सहेज सकता हूं या सीधे प्रस्तुत किए गए विजेट को सर्वलेट-अनुरोध के परिणामस्वरूप एक छवि के रूप में वापस कर सकता हूं। (मैं किसी सर्वर वातावरण में किसी भी विंडो को पॉप अप नहीं करना चाहता, अगर यह एक विंडोज सर्वर हो सकता है ...)।
मैं इसे कैसे प्राप्त कर सकता हूं। मैंने बहुत कुछ खोजा लेकिन कुछ भी उपयोगी पाया।
बहुत बहुत धन्यवाद !! जनवरी
हैलो पॉल, आपके उत्तर के लिए बहुत बहुत धन्यवाद !! आपका जवाब पढ़ने के लिए बहुत दिलचस्प है। मैंने एक समान अनुभव किया (जो विशेषज्ञों के लिए स्पष्ट हो सकता है, लेकिन मुझे नहीं) जो "सर्वरसाइड" को और भी समस्याग्रस्त बनाता है: ऊपर वर्णित अनुसार, एक विंडो हमेशा पॉप अप हो जाएगी, लेकिन न केवल यह विंडो पॉप अप करती है "दृश्यमान/अधिकतम" होने के लिए और "न्यूनतम" (ताकि केवल एक ट्रे/टास्कबार आइकन प्रदर्शित हो) की अनुमति नहीं है, जैसा कि कम से कम राज्य में मुझे एक "सफेद स्क्रीन" भी डूब जाती है। तो इसका मतलब यह है कि विंडो को पूरी तरह से प्रदर्शित किया जाना चाहिए जो सर्वरसाइड वातावरण में और भी बदतर है। – jan
ऐसा लगता है कि अंतिम शब्द है, जहां तक एसडब्ल्यूटी का संबंध है। ध्यान दें कि आप विंडोज एपीआई एक्सेस करके या मैक देशी विधियों को कॉल करके जेएनआई/जेएनए का उपयोग करके इस बारे में प्राप्त कर सकते हैं। बहुत ग्लैमरस नहीं है, लेकिन यह सिर्फ काम पूरा हो सकता है। –
यह एसडब्ल्यूटी के खिलाफ उठाए गए बग होना चाहिए। मैं बस इसमें 5 घंटे बिताता हूं, और एक ही समस्या थी। – Phil