嗨Stackoverflow社區,我有一個Java問題。Java:如何阻止用戶使用JFileChooser輸入文件
我正在製作一個使用JFileChooser的程序,JFileChooser僅設置爲目錄,而且我有一個Jtextfield將文本設置爲所選文件夾的目錄,但是我必須爲指定此文件中的特定文件的用戶文本域。我爲該文本字段設置了.setEditable(false),因此用戶無法輸入文本字段,用戶必須使用與JFileChooser關聯的按鈕來設置Dir。但是,用戶仍然可以在查找文件時彈出的JFileChooser GUI中輸入文本,並且當打開打開按鈕時,輸入的文本將被放入關聯的JTextField中。有沒有人知道一種方法來禁用JFileChooser彈出文本字段的可編輯性?也許我正在想這是錯誤的方式,但基本上用戶只能選擇一個Dir,並且無論如何都不能指定文件。
看起來您可以在http://docs.oracle.com/javase/8/docs/api/javax/swing/JFileChooser.html#setFileSelectionMode-int-上使用JFileChooser#setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY)。即使這樣,你應該檢查getSelectedFile返回一個目錄並拒絕或接受。 – pmcevoy12
準確地說,這是我所做的,但是用戶仍然可以完成文件的路徑並按下Open,它會將完整的文件路徑放在文本字段中,指定的文件將導致程序中斷,我必須只允許JFileChooser文件夾選擇GUI中的文件夾路徑。任何想法如何禁用JFileChooser GUI的可編輯性彈出? – Grant
謝謝你粘貼到oracle網站的鏈接,我能夠找到我在哪裏搞亂了。 JFileChooser被設置爲接受文件,我必須更改JFileChooser以使用.getCurrentDirectory()。getpath()這樣做會覆蓋用戶在JFileChooser GUI中輸入文件,如果用戶指定文件,並且點擊ok,該文件的父目錄將被放置在JTextField中。完善。 – Grant