我有一個函式openFileAction()
,當我在我的JMenuBar
. 它的第一行如下所示:
private static String myPath = ... // some path
private void openFileAction() {
JFileChooser fileChooser = new JFileChooser();
fileChooser.setCurrentDirectory(new File(myPath));
if (fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
File f = null;
try {
fileChooser.setDialogType(JFileChooser.OPEN_DIALOG);
fileChooser.setFileFilter(new FileNameExtensionFilter(null, ".txt");
f = fileChooser.getSelectedFile();
...
我只想將.txt
檔案視為建議——所以我呼叫setFileFilter()
了我的fileChooser
.
這適用于目錄fileChooser
設定為,myPath
即,在出現的“打開”彈出視窗中,我只看到.txt
該目錄中的檔案(和檔案夾)。myPath
但是,如果我在彈出視窗中導航,讓我們說Desktop
,我會看到那里的所有檔案(和檔案夾),而不再.txt
像我想要的那樣只看到檔案。
如何僅查看.txt
我導航到的任何目錄中的檔案?
uj5u.com熱心網友回復:
首先,在顯示之前按照您想要的方式配置對話框,所以,而不是...
JFileChooser fileChooser = new JFileChooser();
fileChooser.setCurrentDirectory(new File(myPath));
if (fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
File f = null;
try {
fileChooser.setDialogType(JFileChooser.OPEN_DIALOG);
fileChooser.setFileFilter(new FileNameExtensionFilter(null, ".txt");
f = fileChooser.getSelectedFile();
你應該做一些更像...
JFileChooser fileChooser = new JFileChooser();
fileChooser.setCurrentDirectory(new File(myPath));
fileChooser.setDialogType(JFileChooser.OPEN_DIALOG);
fileChooser.setFileFilter(new FileNameExtensionFilter(null, ".txt");
if (fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
File f = null;
try {
f = fileChooser.getSelectedFile();
二、配置FileFilter
正確。你應該給它某種“描述”,因為這個得到呈現給用戶,你不需要.
擴展中的,相反,它應該更像......
fileChooser.setFileFilter(new FileNameExtensionFilter("Text files", "txt");
可運行的示例...
import java.awt.EventQueue;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;
public class Test {
public static void main(String[] args) {
new Test();
}
public Test() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
File myPath = new File(".");
JFileChooser fileChooser = new JFileChooser();
fileChooser.setCurrentDirectory(myPath);
fileChooser.setDialogType(JFileChooser.OPEN_DIALOG);
fileChooser.setFileFilter(new FileNameExtensionFilter("Text files", "txt"));
if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
System.out.println("You have selected " selectedFile);
}
}
});
}
}
我還會考慮仔細研究如何使用檔案選擇器
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/473174.html