वर्तमान में स्विट के साथ, मैं कभी-कभी एक कार्यक्रम चाहता हूं कि मनमाने ढंग से अग्रभूमि (जैसे अलार्म घड़ी की तरह) आ जाए।आप जावा स्विट प्रोग्राम को "अग्रभूमि में ले जाने" के लिए कैसे मजबूर करते हैं?
आमतौर पर निम्नलिखित काम करता है (JRuby):
@shell.setMinimized(false)
@shell.forceActive
यह सामने से खोल अगर यह कम से कम किया गया था लाता है।
किसी भी समय एक नया खोल बनाना भी सामने (नया खोल) लाता है।
अभी तक इतना अच्छा है, हालांकि, यदि खोल कम नहीं है, तो उपरोक्त कोड टास्कबार में ऐप के आइकन को चमकता है (ब्लिंक) करता है। वास्तव में पहली बार जब आप इसे चलाते हैं, तो यह इसे सामने लाता है। उसके बाद, यह टास्कबार में बस झपकी देता है। वह खिड़कियां है लिनक्स पर यह केवल टास्कबार (उबंटू डिफ़ॉल्ट) में झपकी लग रहा है।
क्या कोई एप को सामने आने के लिए एप प्राप्त करने के क्रॉस प्लेटफ़ॉर्म तरीके के बारे में जानता है?
ऐसा लगता है कि बल का कोई इन्सेंटिव सेट एक्टिव सेटमैनिमाइज्ड (झूठा) सेट फोकस फोर्स फोकस और सेट विज़िबल इस चीज़ को पूरा कर सकता है।
मुझे यकीन है कि यह संभव है (कम से कम विंडोज़ में), जैसा कि ई टेक्स्ट एडिटर करता है। खैर, यह swt नहीं है, लेकिन कम से कम कुछ अन्य ऐप्स have been known to do it।
मुझे लगता है कि यह शायद swt bug 192036 है?
बहुत धन्यवाद।
संबंधित:
- How to bring a window to the front?
- Opening a Shell
- Keep window in foreground (even if it loses focus)
- Bug 244597 - Cannot activate shell programatically on gtk
- Need to bring application to foreground on Windows
- How to bring a window to the front? इस स्विंग उदाहरण सुराग के कुछ प्रकार भी हो सकती है ...
ऐसा लगता है कि आपने जो भी एसटीटी बग ** से जुड़ा हुआ है, ठीक है ** आपकी समस्या का वर्णन करता है, और ऐसा लगता है कि वे इसे ठीक करने में सक्षम नहीं होंगे। –
मुझे लगता है कि वास्तव में विंडोज़ के लिए समस्या है - अच्छी पकड़। अब के लिए काम करना सबसे पहले एक खोल को कम करना है, फिर इसे कम करें (या कुछ देशी कोड [एफएफआई या जेनी के माध्यम से] को मजबूर करने के लिए इसका उपयोग करें)। लिनक्स में मुझे पूरा यकीन नहीं है कि समस्या क्या है (केवल टास्क ट्रे में ब्लिंक)। यह * swt.jar के नए संस्करणों में तय किया जा सकता है> = 3.5 https://bugs.eclipse.org/bugs/show_bug.cgi?id = 244597 – rogerdpack