本篇文章的目的是实现 通讯录添加联系人图片 的 功能 ,因为实验课设计上交日期逼近的缘故,没有细细研究,直接参考了 java1234_策划 的等同功能的代码部分,在此先感谢java1234_策划的热心分享!
下面介绍相关的api
1.介绍JFileChooser类
介绍来之API:JFileChooser为用户选择文件提供了一种简单的机制。
构造方法:
JFileChooser() 构造一个指向用户默认目录的JTileChooser。此默认目录取决于操作系统,在windows平台下,通常是“我的文档”。
方法:
public void setFileFilter(FileFilter filter)
设置当前文件过滤器。文件选择器使用文件过滤器从用户的视图中过滤文件。
参数:filter --- 要使用的新的当前文件过滤器
public File getSelectedFile() 返回选中的文件。
public int showOpenDialog(Component parent) throws HeadlessException
弹出一个“Open File”文件选择器对话框。
参数: parent --- 该对话框的父组件,可以为 null ;
返回:该文件选择器被弹下时的返回状态
JFileChooser.CANCEL_OPTION
JFileChooser.APPROVE_OPTION
以及 JFileChooser.ERROR_OPTION --- 如果发生错误或者改对话框已被解除。
字段介绍:
public static final int APPROVE_OPTION 选择确认(yes,ok)后返回该值。
public static final int ERROR_OPTION 发生错误后返回该值。
public static final int CANCEL_OPTION 选择 cancle 后返回该值。
2.介绍FileNameExtensionFilter类
API: FileFilter 的一个实现,它使用指定的扩展名集合进行过滤。文件的扩展名是指文件名最后一个“.”后面的部分。名称不包含“.”的文件没有文件扩展名。文件扩展名的比较不区分大小写。
构造方法:public FileNameExtensionFilter(String description, String ... extensions)
使用指定的描述和文件扩展名创建一个FileNameExtensionFilter。
返回的FileNameExtensionFilter将接受所有的目录和所有带有extensions中所包含的的文件扩展名的文件。
参数:description --- 过滤去的文本描述,可以为 null
extensions --- 接受的文件扩展名
3.File类的介绍
文件和目录路径名的抽象表示形式。
方法:
public long length() 返回由此抽象路径名表示的文件的长度。
public String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。返回值---绝对路径名字符串,它与此抽象路径名表示相同的文件或目录。
4.Dimension类的介绍
Dimension类封装单个对象中组件的宽度和高度(精确到整数)。
5.[示例代码参考自策划的分享]以下代码为当点击 选择 按钮时弹出一个针对用户主目录的文件选择器。也即按钮监听器部分代码
private void jb_browseActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
JFileChooser chooser = new JFileChooser();//创建文件对话框
FileNameExtensionFilter filter = new FileNameExtensionFilter("JPG & GIF Images", "jpg", "gif");//创建文件过滤器
chooser.setFileFilter(filter);为文件对话框设置文件过滤器
int returnVal = chooser.showOpenDialog(parent);//打开文件选择对话框
if (returnValue == JFileChooser.APPROVE_OPTION) { // 判断是否选择了文件
File file = fileChooser.getSelectedFile(); // 获得文件对象
if (file.length() / 1024.0 > 50.0) {
JOptionPane.showMessageDialog(null,
"请选择小于等于50KB的图片文件。");
return;
}
picturePath = file.getAbsolutePath();
Icon icon = new ImageIcon(picturePath);
Dimension size = linkManImage.getSize();//用户头像标签大小
linkManImage.setIcon(icon);
linkManImage.setSize(size);
}
}
}
我的cnblogs博客 http://www.cnblogs.com/java1234-com/archive/2013/06/11/3132116.html
欢迎光临我师傅小锋哥的网站 Java知识分享网 www.java1234.com 有大量Java资料供学习参考用,一切免费