亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在不使用.setFileSelectionMode的情況下限制JFileChooser的允許選擇

在不使用.setFileSelectionMode的情況下限制JFileChooser的允許選擇

狐的傳說 2021-04-06 13:09:24
目前,我正在嘗試復制NetBeans的“打開項目”文件選擇對話框,因為我希望使用類似的系統來選擇滿足某些條件的文件夾。但是,我無法強制對話框選擇滿足我的條件的對話框,而不選擇任何文件夾。我該怎么做呢?編輯:將文件夾視為NetBeans項目所需滿足的條件是它需要包含一個nbproject文件夾。到目前為止,我已經嘗試使用.setFileSelectionMode,但是對于我的目的而言,這還不夠嚴格。我的代碼(在main方法中):JFileChooser chooser = new JFileChooser();FileFilter filter = new FileFilter() {    @Override    public boolean accept(File f) {        if (f.isDirectory()) {            // check if this folder is a NetBeans Project            File[] list = f.listFiles();            for (File sub : list) {                if (sub.isDirectory()) {                    if (sub.getName().equals("nbproject")) {                        return true;                    }                }            }                return false;        } else {            return false;        }    }    @Override    public String getDescription() {        return "NetBeans Projects";    }};// so I can select the folder...// ...but I only want the user to be able to select stuff my filter acceptschooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);chooser.addChoosableFileFilter(filter);chooser.setFileFilter(new FileFilter() {    @Override    public boolean accept(File f) {        return f.isDirectory();    }    @Override    public String getDescription() {        return "Folders";    }});chooser.setAcceptAllFileFilterUsed(false);chooser.showOpenDialog(null);附錄:這是我必須瀏覽的示例文件結構:C:\USER\Documents\NetBeansProjects|- Project   |- nbproject|- New Folder (empty)我只想選擇Project文件夾而不能New Folder。兩者仍然需要可見。但是,當我選擇時New Folder,程序將批準并關閉窗口。這不是我想要的行為。相反,我希望窗口僅打開文件夾。(旁注:我并不是真的想為此目的重寫整個類。但是,如果確實要重寫這個類,我可以使用一種解決方法,這種情況不需要發生。)
查看完整描述

1 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

似乎沒有直接的方法或方法來解決此問題。然后,我將使用解決方法。

選擇文件夾的目的是簡化序列化操作(每個文件一個對象),但是我將所有內容都填充到一個文件中。


查看完整回答
反對 回復 2021-04-14
  • 1 回答
  • 0 關注
  • 257 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號