1. 程式人生 > >Java之JFileChooser設定窗體開啟路徑

Java之JFileChooser設定窗體開啟路徑

JFileChooser作為Java中Swing的檔案選取器,是放置在對話方塊中的輕量元件。通過該元件能夠開啟檔案選取對話方塊,並記錄所選檔案,因此在軟體開發過程中使用率很高。但是在使用過程中有些設定還是需要引起使用者的重視,尤其是如何設定檔案選取對話方塊的路徑。


package com.w3ang.testjfilechooser;

import javax.swing.JFileChooser;
import javax.swing.JFrame;

public class TestJFileChooser extends JFrame
{
	private static final long serialVersionUID = 1L;
	public void showJFileChooser()
	{
		JFileChooser fileChooser=new JFileChooser("d:/users");
		fileChooser.showOpenDialog(this);
	}
	public static void main(String[] args)
	{
		System.out.println("TestJFileChooser.main()");
		new TestJFileChooser().showJFileChooser();
	}
}

1、預設的開啟路徑為“我的文件”

如果僅使用JFileChooser fileChooser = new JFileChooser()定義一個檔案選取器時,而且不進行其他設定,則檔案選取器的預設開啟目錄就是“我的文件”。

2、修改預設開啟路徑

 如果開發人員想設定檔案選取器的預設目錄,則可以使用JFileChooser fileChooser = new JFileChooser(new File("想設定的預設目錄路徑"))

軟體使用者在使用軟體過程中,為了降低重複開啟檔案的工作量,一般希望軟體能夠“記憶”開啟過的檔案路徑,這就要求開發人員在設定JFileChooser是能夠根據要求進行預設路徑的設定,這種“記憶”可以分為以下兩種

1、“臨時性”設定檔案選取器預設路徑為上次開啟路徑

所謂的“臨時性”指的是在軟體在一次執行的整個過程中,檔案選取器的預設開啟目錄將會是上次的開啟的路徑。這種方式的設定如下:

JFileChooser fileChooser = new JFileChooser();

fileChooser.setCurrentDirectory(fileChooser.getSelectedFile());

使用這種方式需要注意:首先,這個fileChooser必須定義為全域性變數,而且只能被建立一次;其次,該軟體重啟後文件選取器的第一次預設路徑還是“我的文件”,因為軟體重啟前一次開啟路徑為null,所以JFileChooser將null作為前一次的路徑,即“我的文件”。

2、永久性設定檔案選取器預設路徑為上次開啟路徑

所謂的“永久性”指的是軟體在關閉重啟後文件選取器的預設路徑仍然是關閉前的路徑。這種設定可以通過將每次開啟的路徑寫入登錄檔實現,然後在啟動JFileChooser之前,將路徑從登錄檔中讀取出來作為引數來初始化JFileChooser預設路徑。具體設定如下所示:

Preferences pref = Preferences.userRoot().node("/com/registerFile");
String lastPath = pref.get("lastPath", "");
JFileChooser chooser = null;
if (!lastPath.equals(""))
chooser = new JFileChooser(lastPath);
else
chooser = new JFileChooser();
chooser.showOpenDialog(this);

http://blog.csdn.net/yangfeisc/article/details/40191025