java中filehandler_java Filehandler

简介

最近的好像都没有手敲,只是看了一下。这个是文件管理的

code

/*

* @Author: your name

* @Date: 2020-11-08 15:30:36

* @LastEditTime: 2020-11-08 15:33:06

* @LastEditors: your name

* @Description: In User Settings Edit

* @FilePath: /java/fileChooser/FileChooserTest.java

*/

package fileChooser;

import java.awt.*;

import javax.swing.*;

/**

* @version 1.26 2018-04-10

* @author Cay Horstmann

*/

public class FileChooserTest {

public static void main(String[] args) {

EventQueue.invokeLater(() -> {

var frame = new ImageViewerFrame();

frame.setTitle("FileChooserTest");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

});

}

}

package fileChooser;

import java.io.*;

import javax.swing.*;

import javax.swing.filechooser.*;

import javax.swing.filechooser.FileFilter;

/**

* A file view that displays an icon for all files that match a file filter.

*/

public class FileIconView extends FileView {

private FileFilter filter;

private Icon icon;

/**

* Constructs a FileIconView.

*

* @param aFilter a file filter--all files that this filter accepts will be

* shown with the icon.

* @param anIcon--the icon shown with all accepted files.

*/

public FileIconView(FileFilter aFilter, Icon anIcon) {

filter = aFilter;

icon = anIcon;

}

public Icon getIcon(File f) {

if (!f.isDirectory() && filter.accept(f))

return icon;

else

return null;

}

}

package fileChooser;

import java.awt.*;

import java.io.*;

import javax.swing.*;

/**

* A file chooser accessory that previews images.

*/

public class ImagePreviewer extends JLabel {

/**

* Constructs an ImagePreviewer.

*

* @param chooser the file chooser whose property changes trigger an image

* change in this previewer

*/

public ImagePreviewer(JFileChooser chooser) {

setPreferredSize(new Dimension(100, 100));

setBorder(BorderFactory.createEtchedBorder());

chooser.addPropertyChangeListener(event -> {

if (event.getPropertyName() == JFileChooser.SELECTED_FILE_CHANGED_PROPERTY) {

// the user has selected a new file

File f = (File) event.getNewValue();

if (f == null) {

setIcon(null);

return;

}

// read the image into an icon

var icon = new ImageIcon(f.getPath());

// if the icon is too large to fit, scale it

if (icon.getIconWidth() > getWidth())

icon = new ImageIcon(icon.getImage().getScaledInstance(getWidth(), -1, Image.SCALE_DEFAULT));

setIcon(icon);

}

});

}

}

/*

* @Author: your name

* @Date: 2020-11-08 15:30:36

* @LastEditTime: 2020-11-08 15:33:14

* @LastEditors: your name

* @Description: In User Settings Edit

* @FilePath: /java/fileChooser/ImageViewerFrame.java

*/

package fileChooser;

import java.io.*;

import javax.swing.*;

import javax.swing.filechooser.*;

import javax.swing.filechooser.FileFilter;

/**

* A frame that has a menu for loading an image and a display area for the

* loaded image.

*/

public class ImageViewerFrame extends JFrame {

private static final int DEFAULT_WIDTH = 300;

private static final int DEFAULT_HEIGHT = 400;

private JLabel label;

private JFileChooser chooser;

public ImageViewerFrame() {

setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

// set up menu bar

var menuBar = new JMenuBar();

setJMenuBar(menuBar);

var menu = new JMenu("File");

menuBar.add(menu);

var openItem = new JMenuItem("Open");

menu.add(openItem);

openItem.addActionListener(event -> {

chooser.setCurrentDirectory(new File("."));

// show file chooser dialog

int result = chooser.showOpenDialog(ImageViewerFrame.this);

// if image file accepted, set it as icon of the label

if (result == JFileChooser.APPROVE_OPTION) {

String name = chooser.getSelectedFile().getPath();

label.setIcon(new ImageIcon(name));

pack();

}

});

var exitItem = new JMenuItem("Exit");

menu.add(exitItem);

exitItem.addActionListener(event -> System.exit(0));

// use a label to display the images

label = new JLabel();

add(label);

// set up file chooser

chooser = new JFileChooser();

// accept all image files ending with .jpg, .jpeg, .gif

var filter = new FileNameExtensionFilter("Image files", "jpg", "jpeg", "gif");

chooser.setFileFilter(filter);

chooser.setAccessory(new ImagePreviewer(chooser));

chooser.setFileView(new FileIconView(filter, new ImageIcon("palette.gif")));

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值