JavaFX

2014-04-11 18 views
12

से FileChooser का उपयोग करके छिपी हुई फ़ाइलों को अक्षम करें मैं जावाफ़ेक्स का उपयोग कर अपने उपयोगकर्ता इंटरफ़ेस के लिए जावा ऐप विकसित कर रहा हूं।JavaFX

जब मैं ओएस एक्स मैवरिक्स में कंप्यूटर हार्ड ड्राइव से एक CSV फ़ाइल लोड करने के लिए FileChooser क्लास का उपयोग करता हूं तो संवाद मुझे सभी फाइलें और फ़ोल्डर्स दिखाता है, यहां तक ​​कि छिपे हुए व्यक्ति को बहुत शोर पैदा होता है और वास्तव में खोजने में मुश्किल होती है वांछित फाइल।

यह स्क्रीनशॉट दिखाता है मैं किस बारे में बात कर रहा हूँ:

enter image description here

मुझे लगता है कि यह अधिक एक ओएस एक्स मुद्दा हो सकता है, लेकिन मुझे समझ नहीं आता कि कैसे ठीक करने के लिए, कम से कम मुझे नहीं पता समझें कि मैं जावाएफएक्स फ़ाइलकोजर वर्ग के साथ इसे कैसे ठीक कर सकता हूं।

Stage stage = new Stage(); 
FileChooser fileChooser = new FileChooser(); 
fileChooser.setTitle("Open File"); 
fileChooser.getExtensionFilters().addAll(
     new FileChooser.ExtensionFilter("Comma-Separated Values (CSV)", "*.csv") 
); 
fileChooser.setInitialDirectory(
     new File(System.getProperty("user.home")) 
); 
File selectedFile = fileChooser.showOpenDialog(stage); 

अद्यतन

यह फ़ाइलों को खोलने के गूगल क्रोम मोडल है:

यहाँ मेरी कोड है।

enter image description here

+2

हाय डेव, मुझे लगता है कि समस्या ओएस से संबंधित है। क्या आपने किसी अन्य ऐप से एक संवाद खोलने की कोशिश की है। इसके अलावा आप [यह] कोशिश कर सकते हैं (http://apple.stackexchange.com/questions/99213/is-it-possible-to-always-show-hidden-dotfiles-in-open-save-dialogs)। JFileChooser के पास इस व्यवहार सेट को प्रबंधित करने के लिए एक संपत्ति है FileHidingEnabled लेकिन मुझे javafx के लिए कुछ समान नहीं मिल रहा है, इसलिए शायद यह ओएस व्यवहार लेता है। सादर – ELavicount

+2

हाय @ एलाविकाउंट, मैंने पहले से ही जेफाइल कूसर विकल्प की जांच की है और आप सही हैं, जावाएफएक्स लगता है कि इसमें एक समान विकल्प नहीं है। तो मुझे नहीं पता, शायद ओएस एक्स में सकारात्मक नहीं है क्योंकि फ़िल्टर विंडोज पर बहुत अच्छी तरह से काम करता है। –

+0

मैं इस बारे में जावाएफएक्स डेवलपर्स को [ओपन-जेएफएक्स मेलिंग सूची] (http://mail.openjdk.java.net/mailman/listinfo/openjfx-dev) पर पूछने की सलाह देता हूं। – jewelsea

उत्तर

1

स्रोतों को देखने के बाद ... FileChooser देशी संवादों और पूरी तरह से गैर अनुकूलन पर लागू किया गया है।

तो, नहीं, आप छुपी हुई फ़ाइलों को दिखाने/छिपाने के लिए संवाद को मजबूर नहीं कर सकते हैं।

अंदर FileChooser संवाद वहाँ दिखाने के लिए एक संदर्भ मेनू आइटम/छुपाने के लिए, होना चाहिए उन्हें, लेकिन आप आवेदन

उदाहरण के लिए इस विकल्प को नियंत्रित नहीं कर सकते, यह इस प्रकार लिनक्स पर दिखाई देता है:

FileChooser context menu

0

आप ओएस एक्स मशीन पर Finder -program में सभी छिपी हुई फ़ाइलें छुपा की कोशिश की है? तो: जावाएफएक्स का उपयोग नहीं कर रहा है, लेकिन प्रोग्राम खोजक का उपयोग कर?

+0

मुझे समझ में नहीं आता, मुझे खोजक के साथ फ़ाइलों को क्यों छिपाना चाहिए? शायद मुझे तुम्हारा क्या मतलब नहीं है। –

+0

मुझे लगता है कि JavaFX आपके लिए लिखे गए फ़ाइल को चुनने के लिए फाइंडर का कुछ उदाहरण लॉन्च करता है (जो इसे वास्तविक खोजक एप्लिकेशन के समान दिखता/महसूस करता है)। यदि यह वास्तव में मामला है (मैं 100% निश्चित नहीं हूं), तो खोजक प्रोग्राम (जैसे फ़ाइलों को छिपाने) की आपकी वरीयताएं जावाएफएक्स फ़ाइल चयनकर्ता के तरीके को प्रतिबिंबित करती हैं। बस –

+1

मदद करने की कोशिश कर रहा है ओह मुझे यह मिलता है, लेकिन नहीं, यह इस तरह से काम नहीं करता है। धन्यवाद –

0

मुझे पता है कि यह खेल के लिए देर हो चुकी है लेकिन कोई जवाब वास्तव में मैकोज़ की स्थिति की व्याख्या नहीं करता है।

जावाएफएक्स में खुले/सहेजे गए संवाद मूल संवाद हैं ("चादरें" के रूप में लागू)। जैसे कि खोजक के पास "छुपी हुई फ़ाइलें दिखाएं" विकल्प नहीं है, ये संवाद या तो नहीं हैं।

  1. अपेक्षाकृत अनजान कुंजीपटल शॉर्टकट, उपलब्ध मावेरिक्स के बाद से: वहाँ कई समाधान कर रहे हैं View Hidden Files in Mac Open and Save Dialog Boxes। (मैं बस इस पर ठोकर खाई; मैंने हमेशा नीचे # 2 का उपयोग किया है।)

  2. टर्मिनल में कमांड लाइन स्विच:

    • शो छिपा हुआ ->defaults write com.apple.finder AppleShowAllFiles YES, या
    • छिपाने ->defaults write com.apple.finder AppleShowAllFiles NO

आपका उपयोगकर्ता की पर्याप्त रूप से जागरूक हो गया है इन विकल्पों; ऐसा करने के लिए बटन प्रदान करने के लिए आप देशी खुले/सहेजने वाले संवाद को कस्टमाइज़ नहीं कर सकते हैं।

 संबंधित मुद्दे