📄 imagepreview.java
字号:
/*
* @(#)ImagePreview.java 1.0 03/08/22
* Copyright 2003 Entao Zhang, All rights reserved.
*/
import java.awt.*;
import java.awt.event.*;
import java.beans.*;
import java.io.File;
import javax.swing.*;
/**
* 图象预览
*/
public class ImagePreview implements PropertyChangeListener{
private static JLabel labela=new JLabel();
private static JLabel labelb=new JLabel();
private ImagePreview(){};
public static JPanel createPreview(final JFileChooser c){
c.addPropertyChangeListener(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY,
new ImagePreview());
labela.setIcon(null);
labelb.setText(null);
labela.setHorizontalAlignment(JLabel.CENTER);
labelb.setHorizontalAlignment(JLabel.CENTER);
labelb.setVerticalAlignment(JLabel.BOTTOM);
labela.setBorder(BorderFactory.createEmptyBorder(0,10,0,0));
labelb.setBorder(BorderFactory.createEmptyBorder(0,10,0,0));
JPanel p=new JPanel();
p.setLayout(new BorderLayout());
p.add(labela,BorderLayout.CENTER);
p.add(labelb,BorderLayout.SOUTH);
p.setPreferredSize(new Dimension(120, 120));
return p;
}
public void propertyChange(PropertyChangeEvent e) {
File f=((File)e.getNewValue());
if (f==null || f.isDirectory()
||!(f.getName().toLowerCase().endsWith(".jpg")||
f.getName().toLowerCase().endsWith(".gif") ) ) {
labela.setIcon(null);
labelb.setText(null);
} else {
ImageIcon tmp = new ImageIcon(f.getPath());
labelb.setText("宽:"+tmp.getIconWidth()+" 高:"+tmp.getIconHeight());
if (tmp.getIconWidth()>tmp.getIconHeight()){
if(tmp.getIconWidth() > 115) {
tmp=new ImageIcon(tmp.getImage().getScaledInstance
(115, -1, Image.SCALE_DEFAULT));
}
}else{
if(tmp.getIconHeight()>115){
tmp=new ImageIcon(tmp.getImage().getScaledInstance
(-1, 115, Image.SCALE_DEFAULT));
}
}
labela.setIcon(tmp);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -