2012-12-02 25 views
5

मैं उपयोगकर्ता घर फ़ोल्डर में कोई FileDialog विंडो खोलने के लिए चाहते हैं (यानी/घर/उपयोगकर्ता या/उपयोगकर्ताओं/unsername)SWT FileDialog ओपन

मैं उपयोगकर्ता घर फ़ोल्डर को पढ़ने, System.getProperty का उपयोग कर:

String homefolder = System.getProperty(user.home); 

और परिवर्तनीय सही घर फ़ोल्डर को जोड़ता है। लेकिन जब मैं FileDialog में फ़िल्टरपैथ सेट करता हूं, तो यह केवल (होम लिनक्स) में खुलता है/होम स्तर उपयोगकर्ता घर डीआईआर में प्रवेश नहीं करता है।

FileDialog dialog = new FileDialog(shell); 
    dialog.setText("Choose a certificate"); 
    String platform = SWT.getPlatform(); 
    String homefolder = System.getProperty("user.home"); 
    dialog.setFilterPath(homefolder); 

किसी भी विचार:

इस स्रोत कोड है? Swt FileDialog Problem

+0

आपका कोड अपने सिस्टम पर घर फ़ोल्डर को खोलने करता है। क्या आपने सत्यापित किया कि 'homefolder' सही पथ है? – Baz

+0

हाँ। होमफोल्डर सामग्री सही है। लेकिन जब मैं FileDialog खोलता हूं तो यह उपयोगकर्ता फ़ोल्डर के साथ/home पर चुना जाता है। – Ivan

+0

आप किस विंडो प्रबंधक का उपयोग कर रहे हैं? – Baz

उत्तर

5

आपका कोड SWT 3.6.1 के साथ पूरी तरह से काम करता है: यहाँ एक स्क्रीनशॉट । एक बग रिपोर्ट here बताती है कि यह SWT संस्करण < = 3.3 में एक समस्या थी और 3.4 में तय की गई थी।

तो, समाधान कभी भी संस्करण (आदर्श वर्तमान संस्करण) स्थापित करना होगा।

आप का उल्लेख किया है कि आप एक Maven भंडार का उपयोग के बाद से, वहाँ SWT 3.8 यहाँ एक है:

maven project: SWT 3.5 dependency: any official public repo?