您的位置:首页 > 其它

用 JFileChooser 实现图像的浏览和显示

2010-05-24 20:44 295 查看
关键代码是利用FileNameExtensionFilter 实现图像文件的过滤 不用自己重新复写FileFilter

所以代码变得很简洁

以下是具体的实现代码 希望对大家有启发作用哦

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;

public class PictureUpload extends JFrame{
final private JPanel  panel;
final private JToolBar toolbar;
final private JLabel picLabel;//用来显示图像的标签

public PictureUpload(){
this.setTitle("显示图像程序");
this.setBounds(200, 200, 300, 300);
BorderLayout bl = new BorderLayout();
this.setLayout(bl);

panel = new JPanel();
picLabel = new JLabel();
panel.add(picLabel);
this.getContentPane().add(panel,BorderLayout.CENTER);

toolbar = new JToolBar();
final JButton button = new JButton("打开");
button.addActionListener(new btnActionListener());
toolbar.add(button);
this.getContentPane().add(toolbar,BorderLayout.NORTH);

this.setVisible(true);
}

class btnActionListener implements ActionListener{
public File browsefile;
public void actionPerformed(ActionEvent e){
final JFileChooser filechooser = new JFileChooser();
FileNameExtensionFilter filter=new FileNameExtensionFilter("*.jpeg,*.gif,*.bmp,*.png", "jpg", "gif","png","gif"); //设置文件过滤器
filechooser.setFileFilter(filter);
try{
filechooser.showOpenDialog(null); //
}catch(HeadlessException ex){
System.out.println("HeadlessException");
ex.printStackTrace();
}
browsefile = filechooser.getSelectedFile();
Icon icon = new ImageIcon(browsefile.getAbsolutePath());//获得图像文件
picLabel.setIcon(icon);
}
}
public static void main(String args[]){
new PictureUpload();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: