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

关键代码是利用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(); } }

你可能感兴趣的:(String,filter,null,Class,import,button)