【急】【求救】Java 中的JFileChooser 的用法~

2025-03-09 20:12:18
推荐回答(1个)
回答1:

package com.lzw;
import java.awt.BorderLayout;
import java.awt.Dimension;
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 FileChooseToolBar extends JFrame{

JToolBar toolBar;
JButton openJB;
JButton saveJB;
JButton exitJB;

JFileChooser filechooser;
FileFilter filter;

JLabel JL;

public FileChooseToolBar(){
super("具有文件选择功能的工具栏");
setBounds(100,100,400,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}

public void ToolBar(){
toolBar = new JToolBar("工具栏");
getContentPane().add(toolBar,BorderLayout.NORTH);
openJB = new JButton("打开");
toolBar.add(openJB);
toolBar.addSeparator();
saveJB = new JButton("保存");
toolBar.add(saveJB);
toolBar.addSeparator(new Dimension(20,0));
exitJB = new JButton("退出");
toolBar.add(exitJB);
FileChooser(this);
}

public void FileChooser(final FileChooseToolBar filechoosetoolbar){
openJB.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
filechooser = new JFileChooser();
filter = new FileNameExtensionFilter("图片(JPG/GIF)", "JPG","JPEG","GIF");
filechooser.setFileFilter(filter);
int i = filechooser.showOpenDialog(getContentPane());
if (i == JFileChooser.APPROVE_OPTION){
File selectedFile = filechooser.getSelectedFile();
ImageIcon icon = new ImageIcon(selectedFile.getAbsolutePath());
new Dialog(filechoosetoolbar, icon);
}
}
});
}

private class Dialog extends JDialog{
public Dialog(FileChooseToolBar filechoosetoolbar,ImageIcon icon){
super(filechoosetoolbar,icon.toString(),true);
JL = new JLabel();
JL.setIcon(icon);
getContentPane().add(JL,BorderLayout.CENTER);
setBounds(100,100,icon.getIconWidth()/3,icon.getIconHeight()/3);
setVisible(true);
}
}

public static void main(String[] args) {
FileChooseToolBar filechoosertoolbar = new FileChooseToolBar();
filechoosertoolbar.ToolBar();
}
}