日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java图片查看器下载_java照片查看器源代码

發(fā)布時(shí)間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java图片查看器下载_java照片查看器源代码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

java照片查看器源代碼

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;/* 該代碼意在實(shí)現(xiàn)照片查看器的功能* 當(dāng)按下“右箭頭 ”時(shí)瀏覽下一張圖片* 當(dāng)按下“左箭頭 時(shí)瀏覽上一張圖片* 實(shí)現(xiàn)循環(huán)瀏覽* 當(dāng)按下Ecs時(shí)推出全屏瀏覽模式* 當(dāng)按下 CTRL+“上箭頭”時(shí),全屏顯示* 只能瀏覽指定文件夾下面的所支持格式的圖片(gif,jpg,png )*鏈表的大小與他的最大角標(biāo)相隔 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();/框架圖標(biāo)JFileChooser chooser; /聲明一個(gè)文件選擇器對(duì)象static JPanel imgjp;static Image img0=(new ImageIcon(image/cat.png).getImage();/默認(rèn)的一張圖片F(xiàn)ile 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;/打印圖片的左上角坐標(biāo)static int PWidth,PHeight;/圖片的寬高(小于屏幕寬高的時(shí)候的)static int PWidth0,PHeight0;/圖片寬高大于屏幕寬高的時(shí)候的圖片寬高String CPath;/直接獲得的路徑String newPath;/經(jīng)過轉(zhuǎn)換后的路徑static List list=new LinkedList();int index=0;static int index0=0;static double xCoor0=1,yCoor0=1;/圖片在 X 軸縮放的倍數(shù),圖片在 Y 軸的縮放倍數(shù);static boolean isFull=true;/是否全屏顯示static int now;/當(dāng)前正在使用的圖片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);/不設(shè)置窗口的位置,是因?yàn)榇翱谀J(rèn)的位置就是在桌面的左上角frame0.setIconImage(icon);/設(shè)置窗口圖標(biāo)frame0.setVisible(true);/* 程序一啟動(dòng)就彈出文件選擇對(duì)話框讓用戶選擇所要瀏覽的圖片*/try UIManager.setLookAndFeel(com.sun.java.swing.plaf.windows.WindowsLookAndFeel);/設(shè)置為當(dāng)前操作系統(tǒng)的外觀 JFileChooser chooser = new JFileChooser();chooser.setDialogTitle(請(qǐng)選擇要查看的圖片);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.getProperty(file.separator);newPath=CPath.replaceAll(,/);/路徑轉(zhuǎn)換 root=new File(newPath);img0=img; imgjp.repaint();findImage(root); catch (Exception evt) Toolkit toolkit = Toolkit.getDefaultToolkit(); toolkit.addAWTEventListener(new ShortcutKeyListener(), AWTEvent.KEY_EVENT_MASK | AWTEvent.MOUSE_EVENT_MASK| AWTEvent.WINDOW_EVENT_MASK);/*添加鍵盤監(jiān)聽事件,當(dāng)點(diǎn)擊鍵盤上的方向鍵右鍵時(shí)瀏覽下一張圖片,點(diǎn)擊左箭頭瀏覽上一張,當(dāng)按下上箭頭時(shí)對(duì)當(dāng)前圖片進(jìn)行放大操作* 當(dāng)按下下箭頭時(shí),對(duì)當(dāng)前瀏覽的圖片進(jìn)行縮小操作* 同時(shí)添加鼠標(biāo)滾輪監(jiān)聽事件,也對(duì)當(dāng)前圖片進(jìn)行縮放操作* */imgjp.addMouseWheelListener(new MouseWheelListener()public void mouseWheelMoved(MouseWheelEvent e)if(e.getWheelRotation()SWidth|PHeightSHeight) yCoor0=SHeight/(PHeight*1.0);PHeight0=SHeight;PWidth0=(int)(PWidth*yCoor0);xCoor0=yCoor0; xCoor=(SWidth-PWidth0)/2;yCoor=-(PHeight0-SHeight)/2;Trans.scale(xCoor0,yCoor0);/對(duì)圖片的縮放操作/ G2.setTransform(Trans); G2.drawImage(img0,xCoor,yCoor,PWidth0,PHeight0,this); static class Tim implements ActionListenerpublic void actionPerformed(ActionEvent e)/看來變量最好不要用相同的變量名img0=(Image)(list.get(index0);index0+;if(index0=list.size()index0=0;img0=(Image)(list.get(index0);index0+;imgjp.repaint();imgjp.repaint();static class ShortcutKeyListener implements AWTEventListener public void eventDispatched(AWTEvent e) if (e.getClass() = KeyEvent.class) / 被處理的事件是鍵盤事件.KeyEvent keyEvent = (KeyEvent) e;if (keyEvent.getID() = KeyEvent.KEY_PRESSED) keyPressed(keyEvent); else if (keyEvent.getID() = KeyEvent.KEY_RELEASED) keyReleased(keyEvent); /* 當(dāng)只有一張圖片是拋出異常,不能使用左右方向鍵,待解決*/private void keyPressed(KeyEvent e) switch(e.getKeyCode()case KeyEvent.VK_RIGHT: if(list.size()!=1)img0=(Image)(list.get(index0);now=index0;index0+;if(index0=list.size()-1)index0=0;img0=(Image)(list.get(index0);now=index0;index0+;imgjp.repaint();imgjp.repaint();elseimg0=(Image)(list.get(index0);imgjp.repaint();break;case KeyEvent.VK_LEFT: if(list.size()!=1)if(index00)img0=(Image)(list.get(index0);now=index0;index0-;imgjp.repaint(); if(index00)index0=list.size()-1;img0=(Image)(list.get(index0);now=index0;index0-;imgjp.repaint(); elseindex0=list.size()-1;img0=(Image)(list.get(index0);now=index0;index0-;imgjp.repaint();break;case KeyEvent.VK_ESCAPE:isFull=false;frame0=new JFrame();imgjp=new ImgsPanel();imgjp.setBackgroun

總結(jié)

以上是生活随笔為你收集整理的java图片查看器下载_java照片查看器源代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。