package ioStream; import java.awt.AWTEvent; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.AWTEventListener; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseWheelEvent; import java.awt.event.MouseWheelListener; import java.awt.geom.AffineTransform; import java.io.File; import java.util.LinkedList; import java.util.List; import javax.swing.ImageIcon; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.Timer; import javax.swing.UIManager; import javax.swing.filechooser.FileNameExtensionFilter; /* * 该代码意在实现照片查看器的功能 * 当按下“右箭头”时浏览下一张图片 * 当按下“左箭头"时浏览上一张图片 * 实现循环浏览 * 当按下"Ecs"时推出全屏浏览模式 * 当按下 CTRL+“上箭头”时,全屏显示 * 只能浏览指定文件夹下面的所支持格式的图片(gif,jpg,png) *链表的大小与他的最大角标相隔 1 */ public class PicsViewer { static JFrame frame0;//原始的全屏显示的窗口 static int SWidth=Toolkit.getDefaultToolkit().getScreenSize().width; static int SHeight=Toolkit.getDefaultToolkit().getScreenSize().height; static Image icon=(new ImageIcon("PicsViewer/img.png")).getImage();//框架图标 JFileChooser chooser; //声明一个文件选择器对象 static JPanel imgjp;
static Image img0=(new ImageIcon("image/cat.png")).getImage();//默认的一张图片 File files; static int j=0; static int k=0; static File root; static int i=0; Timer T00; String[] Str;//获取文件名字符串 static Image img; static int xCoor,yCoor;//打印图片的左上角坐标 static int PWidth,PHeight;//图片的宽高(小于屏幕宽高的时候的) static int PWidth0,PHeight0;//图片宽高大于屏幕宽高的时候的图片宽高 String CPath;//直接获得的路径 String newPath;//经过转换后的路径 static List
list=new LinkedList
(); int index=0; static int index0=0; static double xCoor0=1,yCoor0=1;//图片在 X 轴缩放的倍数,图片在 Y 轴的缩放倍数; static boolean isFull=true;//是否全屏显示 static int now;//当前正在使用的图片 public PicsViewer(){ frame0=new JFrame(); imgjp=new ImgsPanel(); imgjp.setBackground(new Color(51,51,51)); frame0.add(imgjp); frame0.setTitle("PicsViewer1.0"); frame0.setSize(SWidth,SHeight); frame0.setUndecorated(isFull); frame0.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //不设置窗口的位置,是因为窗口默认的位置就是在桌面的左上角 frame0.setIconImage(icon);//设置窗口图标 frame0.setVisible(true); /* *
程序一启动就弹出文件选择对话框让用户选择所要浏览的图片 */ try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");// 设 置 为 当前操作
系统的外观 JFileChooser chooser = ne
w JFileChooser(); chooser.setDialogTitle("请选择要查看的图片"); chooser.addChoosableFileFilter(new FileNameExtensionFilter("常见图片格式 ", "jpg", "gif", "png")); chooser.showOpenDialog(frame0);
int returnVal = chooser.showOpenDialog(frame0); if(returnVal == JFileChooser.APPROVE_OPTION) { img=(new ImageIcon(chooser.getSelectedFile().toString())).getImage();
CPath=chooser.getCurrentDirectory().toString()+System.getPrope