1、基本用法
JFileChooser dlg = new JFileChooser();
dlg.setDialogTitle("Open JPEG file");
int result = dlg.showOpenDialog(this); // 打开"打开文件"对话框
// int result = dlg.showSaveDialog(this); // 打"开保存文件"对话框
if (result == JFileChooser.APPROVE_OPTION) {
File file = dlg.getSelectedFile();
...
}
2、自定义FileFilter
JDK没有提供默认的文件过滤器,但提供了过滤器的抽象超类,我们可以继承它。
import javax.swing.filechooser.FileFilter;
public final class PictureFileFilter extends FileFilter {
private String extension;
private String description;
public PictureFileFilter(String extension, String description) {
super();
this.extension = extension;
this.description = description;
}
public boolean accept(File f) {
if (f != null) {
if (f.isDirectory()) {
return true;
}
String extension = getExtension(f);
if (extension != null && extension.equalsIgnoreCase(this.extension)) {
return true;
}
}
return false;
}
public String getDescription() {
return description;
}
private String getExtension(File f) {
if (f != null) {
String filename = f.getName();
int i = filename.lastIndexOf('.');
if (i > 0 && i < filename.length() - 1) {
return filename.substring(i + 1).toLowerCase();
}
}
return null;
}
}
其实主要就是accept(File f)函数。上例中只有一个过滤器,多个过滤器可参考JDK目录中“demo\jfc\FileChooserDemo\src”中的“ExampleFileFilter.java”
3、多选
在基本用法中,设置
c.setMultiSelectionEnabled(true);
即可实现文件的多选。
读取选择的文件时需使用
File[] files = c.getSelectedFiles();
4、选择目录
利用这个打开对话框,不仅可以选择文件,还可以选择目录。
其实,对话框有一个FileSelectionMode属性,其默认值为“JFileChooser.FILES_ONLY”,只需要将其修改为“JFileChooser.DIRECTORIES_ONLY”即可。
JFileChooser c = new JFileChooser();
c.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
c.setDialogTitle("Select path to save");
int result = c.showOpenDialog(PrintDatetime.this);
if (result == JFileChooser.APPROVE_OPTION) {
String path = c.getSelectedFile().getAbsolutePath());
...
}
2008年8月29日星期五
2008年8月25日星期一
2008年8月22日星期五
Install OpenMoko or Qtopia in Rokr E6 or A1200
http://linuxpdablog.blogspot.com/2008/06/install-openmoko-or-qtopia-in-rokr-e6.html
http://www.openmoko.com/product-qa.html
http://planet.openezx.org/
http://www.openmoko.com/product-qa.html
http://planet.openezx.org/
2008年8月20日星期三
2008年8月5日星期二
USB Test Tools
http://www.usb.org/developers/tools/
USBCV R1.3.2 - Windows XP SP2 (English Version) only
USBCV R1.3.2 - Windows XP SP2 (English Version) only
电脑打开文件夹(内有 swf、flv 格式)都会很慢,右链菜单也要半分钟才能出来,解决办法
你用的是深度 sp3吧?这是一个小bug,现在可以用如下办法解决:
在GHOST8.1 中SWF,FLV,F4A,F4V,F4P 文件的图标都关联到了一个网络上的一个文件上了(192.168.1.2\公用目录\XP SP3 工作目录\克隆版制作\sa_flashplayer_9_debug.exe)。导致系统在打开一个含有以上文件的问件夹时出现假死现象。此注册表补丁就是重新关联了以上文件和文件的图标。
打开一个文本文档,复制如下注册表代码进去,然后保存,把文档的后缀名改成.reg
如:“关联修复.reg” 然后双击运行把注册表文件导入即可。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\FlashPlayer.FlashVideo\DefaultIcon]
@="C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe,-202"
[HKEY_CLASSES_ROOT\FlashPlayer.FlashVideo\shell\open\command]
@="\"C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe\" %1"
[HKEY_CLASSES_ROOT\FlashPlayer.VideoForFlashPlayer\DefaultIcon]
@="C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe,-203"
[HKEY_CLASSES_ROOT\FlashPlayer.VideoForFlashPlayer\shell\open\command]
@="\"C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe\" %1"
[HKEY_CLASSES_ROOT\FlashPlayer.ProtectedMediaForFlashPlayer\DefaultIcon]
@="C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe,-204"
[HKEY_CLASSES_ROOT\FlashPlayer.ProtectedMediaForFlashPlayer\shell\open\command]
@="\"C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe\" %1"
[HKEY_CLASSES_ROOT\FlashPlayer.AudioForFlashPlayer\DefaultIcon]
@="C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe,-205"
[HKEY_CLASSES_ROOT\FlashPlayer.AudioForFlashPlayer\shell\open\command]
@="\"C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe\" %1"
[HKEY_CLASSES_ROOT\ShockwaveFlash.ShockwaveFlash\DefaultIcon]
@="C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe,-608"
[HKEY_CLASSES_ROOT\ShockwaveFlash.ShockwaveFlash\shell\open\command]
@="\"C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe\" %1"
参考资料:深度技术论坛
在GHOST8.1 中SWF,FLV,F4A,F4V,F4P 文件的图标都关联到了一个网络上的一个文件上了(192.168.1.2\公用目录\XP SP3 工作目录\克隆版制作\sa_flashplayer_9_debug.exe)。导致系统在打开一个含有以上文件的问件夹时出现假死现象。此注册表补丁就是重新关联了以上文件和文件的图标。
打开一个文本文档,复制如下注册表代码进去,然后保存,把文档的后缀名改成.reg
如:“关联修复.reg” 然后双击运行把注册表文件导入即可。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\FlashPlayer.FlashVideo\DefaultIcon]
@="C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe,-202"
[HKEY_CLASSES_ROOT\FlashPlayer.FlashVideo\shell\open\command]
@="\"C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe\" %1"
[HKEY_CLASSES_ROOT\FlashPlayer.VideoForFlashPlayer\DefaultIcon]
@="C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe,-203"
[HKEY_CLASSES_ROOT\FlashPlayer.VideoForFlashPlayer\shell\open\command]
@="\"C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe\" %1"
[HKEY_CLASSES_ROOT\FlashPlayer.ProtectedMediaForFlashPlayer\DefaultIcon]
@="C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe,-204"
[HKEY_CLASSES_ROOT\FlashPlayer.ProtectedMediaForFlashPlayer\shell\open\command]
@="\"C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe\" %1"
[HKEY_CLASSES_ROOT\FlashPlayer.AudioForFlashPlayer\DefaultIcon]
@="C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe,-205"
[HKEY_CLASSES_ROOT\FlashPlayer.AudioForFlashPlayer\shell\open\command]
@="\"C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe\" %1"
[HKEY_CLASSES_ROOT\ShockwaveFlash.ShockwaveFlash\DefaultIcon]
@="C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe,-608"
[HKEY_CLASSES_ROOT\ShockwaveFlash.ShockwaveFlash\shell\open\command]
@="\"C:\\WINDOWS\\system32\\Macromed\\Flash\\sa_flashplayer_9.exe\" %1"
参考资料:深度技术论坛
订阅:
博文 (Atom)