2009-04-17 25 views
18

मुझे एक छोटे से एप्लेट में कुछ बदलाव करने का अनुरोध है जो वर्तमान में एक जेफाइलकोजर का उपयोग करता है।
मुख्य शिकायतों में से एक यह है कि फ़ाइल चयनकर्ता गधे में दर्द का उपयोग करता है क्योंकि यह मूल विजेट से अलग व्यवहार करता है, खासतौर पर रूट स्तर तक पहुंचने के लिए।JFileChooser के लिए वैकल्पिक

तो, यह जानकर और अन्य सभी मुद्दे JFileChooser पीड़ित हैं (विंडोज़ पर ज़िप फ़ाइल कैशिंग की तरह ...), मैं सोच रहा था कि जावा दुनिया में एक व्यवहार्य विकल्प मौजूद है।

बेशक, एसडब्ल्यूटी है जो मूल विजेट का उपयोग करता है, लेकिन 25 तक एप्लेट आकार में वृद्धि करना वास्तव में एक विकल्प नहीं है। तो, क्या फ़ाइल चयनकर्ता का बेहतर शुद्ध जावा कार्यान्वयन है?

+0

मानक विंडोज ओपन डायलॉग फॉर्म खोलने और संवाद फ़ॉर्म के रूप में सहेजने का एक तरीका है। मुझे याद नहीं है कि यह कैसे करना है। –

उत्तर

5

आप XFileDialog भी आजमा सकते हैं। अभी तक बहुत कोशिश नहीं की है लेकिन मूल्यांकन के लायक लग रहा है।

+0

वाह, यह वही दिखता है जो मैं ढूंढ रहा था। धन्यवाद! – gizmo

+4

यह बहुत अच्छा है, लेकिन यह केवल विंडोज़ है और जेएनआई का उपयोग करता है। क्या कोई क्रॉस-प्लेटफार्म विकल्प है? – sworisbreathing

12

एडब्ल्यूटी FileDialog वास्तव में मूल घटक का उपयोग करता है, लेकिन अधिकांश एडब्ल्यूटी बनाम स्विंग मुद्दों के साथ, यह स्विंग के JFileChooser की तुलना में बहुत कम लचीला और अनुकूलन योग्य है। तो एक ट्रेडऑफ है: JFileChooser में एक छद्म उपयोगकर्ता इंटरफ़ेस हो सकता है, लेकिन यह आमतौर पर अधिकांश उद्देश्यों के लिए बेहतर होता है। यदि आप वास्तव में अपनी फ़ाइल को देशी लोगों की तरह दिखने और महसूस करने के लिए संवाद चुनना चाहते हैं, तो आप FileDialog के साथ जा सकते हैं।

0

@htw ने कहा कि फ़ाइलडिअलॉग का उपयोग करें यदि देखो और महसूस आपकी मुख्य चिंता है। फ़ाइलडिअलॉग का उपयोग करके जागरूक रहें कि आप बहुत सी सुविधा विधियों का उपयोग करने में सक्षम नहीं होंगे ...

मैंने VFSJFileChooser कुछ बार उपयोग किया। यह JFileChooser कीड़े से नहीं पीड़ित है (ज़िप फ़ाइलों, केवल विंडोज़ के कारण लोड करने में धीमा), लेकिन इंटरफ़ेस "मूल" नहीं है।

6

मुझे पता है कि यह थोड़ा देर हो चुकी है, लेकिन यह अन्य उपयोगकर्ताओं की मदद कर सकती है। आप ओएस के यूआई के लिए एक आवेदन की यूआई अनुकूलित कर सकते हैं:

try { 
     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
    } catch (Exception e) {e.printStackTrace();  } 
+2

मैं यहां भी बहुत देर से हूं लेकिन यह ध्यान देने योग्य है कि यह एक बहुत अच्छी नौकरी करता है, सिस्टम सिस्टम का उपयोग करके ओएस एक्स पर जेएफइल कूसर मूल रूप से मूल संवाद की याद दिलाता नहीं है। – sbook

+0

जावा में इसे खोलने और फ़ाइल संवाद विंडो को सहेजने के लिए जावा में एक तरीका है? मुझे याद नहीं है कि यह कैसे किया गया था। –

2

मैं अगर उपलब्ध JavaFX 'फ़ाइल चयनकर्ता के चारों ओर एक wrapper लिखा था। यदि आपके आवेदन में शामिल है, तो आप

JFileChooser fileChooser = new NativeJFileChooser(); 

साथ

JFileChooser fileChooser = new JFileChooser(); 

जगह ले सकता है यह तो देशी (और आधुनिक) अंतर्निहित मंच की फ़ाइल चयनकर्ता का उपयोग करेगा। सबकुछ 100% समान नहीं होता है, इसलिए बाद में इसका परीक्षण करना सुनिश्चित करें, लेकिन अधिकांश चीजों को आसानी से जाना चाहिए।

+1

धन्यवाद @ वेलुरिया! मेरे शुरुआती परीक्षण बहुत अच्छे हैं - यह ओएस संवाद का उपयोग करता है जैसे किसी भी एप्लिकेशन को करने में सक्षम होना चाहिए, और अच्छी तरह से काम करना प्रतीत होता है (चेक ओएसएक्स और विन 10) –

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