⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imagepreviewer.java

📁 一个java图书管理系统
💻 JAVA
字号:
package net.sfte.htlibrary.ui;

import java.awt.Dimension;
import java.awt.Image;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JLabel;

/**
 * A file chooser accessory that previews images.
 */
public class ImagePreviewer extends JLabel {
	private static final long serialVersionUID = 1L;

	/**
	 * 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(new PropertyChangeListener() {
			public void propertyChange(PropertyChangeEvent 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
					ImageIcon 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);
				}
			}
		});
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -