亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? imageviewer.java

?? 瘋狂Java講義_源碼(含Java設計模式CHM
?? JAVA
字號:
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.beans.*;
import java.util.*;
import java.io.*;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileView;

/**
 * Description:
 * <br/>Copyright (C), 2005-2008, Yeeku.H.Lee
 * <br/>This program is protected by copyright laws.
 * <br/>Program Name:
 * <br/>Date:
 * @author  Yeeku.H.Lee kongyeeku@163.com
 * @version  1.0
 */
public class ImageViewer
{
	final int PREVIEW_SIZE = 100;
	JFrame jf = new JFrame("簡單圖片查看器");
	JMenuBar menuBar = new JMenuBar();
	//該label用于顯示圖片
	JLabel label = new JLabel();
	//以當前路徑創建文件選擇器
	JFileChooser chooser = new JFileChooser(".");
	JLabel accessory = new JLabel();
	ExtensionFileFilter filter = new ExtensionFileFilter();
	public void init()
	{
		//-------------------下面開始初始化JFileChooser的相關屬性-----------------
		// 創建一個FileFilter
		filter.addExtension("jpg");
		filter.addExtension("jpeg");
		filter.addExtension("gif");
		filter.addExtension("png");
		filter.setDescription("圖片文件(*.jpg,*.jpeg,*.gif,*.png)");
		chooser.addChoosableFileFilter(filter);
		//禁止“文件類型”下拉列表中顯示“所有文件”選項。
		chooser.setAcceptAllFileFilterUsed(false); 
		//為文件選擇器指定自定義的FileView對象
		chooser.setFileView(new FileIconView(filter));
		//為文件選擇器指定一個預覽圖片的附件組件
		chooser.setAccessory(accessory);
		//設置預覽圖片組件的大小和邊框
		accessory.setPreferredSize(new Dimension(PREVIEW_SIZE, PREVIEW_SIZE));
		accessory.setBorder(BorderFactory.createEtchedBorder());
		//用于檢測被選擇文件的改變事件
		chooser.addPropertyChangeListener(new PropertyChangeListener()
		{
			public void propertyChange(PropertyChangeEvent event) 
			{
				//JFileChooser的被選文件已經發生了改變
				if (event.getPropertyName() == JFileChooser.SELECTED_FILE_CHANGED_PROPERTY)
				{
					//獲取用戶選擇的新文件 
					File f = (File) event.getNewValue();
					if (f == null)
					{ 
						accessory.setIcon(null); 
						return; 
					}
					//將所文件讀入ImageIcon對象中
					ImageIcon icon = new ImageIcon(f.getPath());
					//如果圖像太大,則縮小它
					if(icon.getIconWidth() > PREVIEW_SIZE)
					{	
						icon = new ImageIcon(icon.getImage()
							.getScaledInstance(PREVIEW_SIZE, -1, Image.SCALE_DEFAULT));
					}
					//改變accessory Label的圖標
					accessory.setIcon(icon);
				}
			}
		});

		//----------下面代碼開始為該窗口安裝菜單------------
		JMenu menu = new JMenu("文件");
		menuBar.add(menu);
		JMenuItem openItem = new JMenuItem("打開");
		menu.add(openItem);
		//單擊openItem菜單項顯示“打開文件”的對話框
		openItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent event)
			{
				//設置文件對話框的當前路徑
				//chooser.setCurrentDirectory(new File("."));
				//顯示文件對話框
				int result = chooser.showDialog(jf , "打開圖片文件");
				//如果用戶選擇了APPROVE(贊同)按鈕,即打開,保存及其等效按鈕
				if(result == JFileChooser.APPROVE_OPTION)
				{
					String name = chooser.getSelectedFile().getPath();
					//顯示指定圖片
					label.setIcon(new ImageIcon(name));
				}
			}
		});
		JMenuItem exitItem = new JMenuItem("退出");
		menu.add(exitItem);
		exitItem.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent event)
			{
				System.exit(0);
			}
		});
		jf.setJMenuBar(menuBar);
		//添加用于顯示圖片的JLabel組件。
		jf.add(new JScrollPane(label));
		jf.setSize(500, 400);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jf.setVisible(true);
	}

	public static void main(String[] args)
	{
		new ImageViewer().init();
	}
}

//創建FileFilter的子類,用以實現文件過濾功能
class ExtensionFileFilter extends FileFilter
{

	private String description = "";
	private ArrayList<String> extensions = new ArrayList<String>();
	//自定義方法,用于添加文件擴展名
	public void addExtension(String extension)
	{
		if (!extension.startsWith("."))
		{
			extension = "." + extension;
			extensions.add(extension.toLowerCase());
		}
	}
	//用于設置該文件過濾器的描述文本
	public void setDescription(String aDescription)
	{
		description = aDescription;
	}
	//繼承FileFilter類必須實現的抽象方法,返回該文件過濾器的描述文本
	public String getDescription()
	{
		return description; 
	}
	//繼承FileFilter類必須實現的抽象方法,判斷該文件過濾器是否接受該文件
	public boolean accept(File f)
	{
		//如果該文件是路徑,接受該文件
		if (f.isDirectory()) return true;
		//將文件名轉為小寫(全部轉為小寫后比較,用于忽略文件名大小寫)
		String name = f.getName().toLowerCase();
		//遍歷所有可接受的擴展名,如果擴展名相同,該文件就可接受。
		for (String extension : extensions)
		{
			if (name.endsWith(extension)) 
			{
				return true;
			}
		}
		return false;
	}
}
//自定義一個FileView類,用于為指定類型的指定圖標
class FileIconView extends FileView
{
	private FileFilter filter;
	public FileIconView(FileFilter filter)
	{
		this.filter = filter;
	}
	//如果文件不是目錄,并且不是
	public Icon getIcon(File f)
	{
		if (!f.isDirectory() && filter.accept(f))
		{
			return new ImageIcon("ico/pict.png");
		}
		else if (f.isDirectory())
		{
			//獲取所有根路徑
			File[] fList = File.listRoots();
			for (File tmp : fList)
			{
				//如果該路徑是根路徑
				if (tmp.equals(f))
				{
					return  new ImageIcon("ico/dsk.png");
				}
			}
			return new ImageIcon("ico/folder.png");
		}
		//使用默認圖標
		else
		{
			return null;
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚日韩国产aⅴ精品中极品| 久久99精品久久久久久动态图| 国产suv精品一区二区6| 欧美日本在线视频| 午夜伦理一区二区| 正在播放亚洲一区| 国产曰批免费观看久久久| 欧美成人女星排行榜| 国产二区国产一区在线观看| 国产亚洲精久久久久久| 国产成人丝袜美腿| 一区二区三区不卡在线观看| 色综合中文字幕| 无码av中文一区二区三区桃花岛| 在线免费亚洲电影| 天堂成人免费av电影一区| 91精品国产手机| 美女爽到高潮91| 久久精品一区二区| 国产成人综合在线| 亚洲午夜av在线| 91精品欧美一区二区三区综合在| 极品少妇一区二区三区精品视频 | 精品免费国产二区三区| 国产久卡久卡久卡久卡视频精品| 精品国产露脸精彩对白| 99re热这里只有精品免费视频| 亚洲色图20p| 欧美日韩国产在线播放网站| 日本不卡在线视频| 国产性做久久久久久| 欧美亚洲综合一区| 久久99精品久久久久久久久久久久 | 亚洲综合一区二区| 在线观看91精品国产麻豆| 国产精一品亚洲二区在线视频| 日本一区二区视频在线观看| 欧美在线影院一区二区| 经典三级在线一区| 日韩伦理免费电影| 国产无一区二区| 欧美制服丝袜第一页| 风间由美一区二区av101| 一区二区三区欧美视频| 在线观看免费成人| 成人白浆超碰人人人人| 亚洲国产精品麻豆| 中文字幕欧美一区| 日韩欧美一二三| 欧美天堂一区二区三区| 国产自产视频一区二区三区| 国产精品久久久久影视| 精品嫩草影院久久| 91香蕉视频在线| jlzzjlzz欧美大全| 激情文学综合插| 日本不卡视频在线| 亚洲人123区| 欧美一区二区视频在线观看2022| 91丨porny丨最新| 紧缚奴在线一区二区三区| 日韩精品亚洲一区二区三区免费| 中文字幕第一页久久| 久久综合九色综合97婷婷女人| 色噜噜狠狠成人中文综合| 麻豆国产精品777777在线| 午夜精品免费在线| 亚洲欧美在线aaa| 国产精品免费久久久久| 精品久久久久久综合日本欧美| 日韩亚洲欧美一区| 欧美三级日本三级少妇99| 精品在线播放免费| 日产欧产美韩系列久久99| 亚洲综合激情另类小说区| 亚洲激情欧美激情| 中文幕一区二区三区久久蜜桃| 久久精品欧美一区二区三区不卡 | 亚洲综合久久久久| 国产精品久久看| 精品国产一区二区国模嫣然| 欧美丰满高潮xxxx喷水动漫| 欧美影视一区二区三区| 欧美日韩激情一区二区三区| 色诱亚洲精品久久久久久| 99久久精品免费看国产免费软件| 懂色av一区二区夜夜嗨| 激情综合色综合久久| 国产精品99久久久久久宅男| 另类小说综合欧美亚洲| 国产精品影视网| 国产一区免费电影| 国产成人精品免费一区二区| 国产一区二区三区免费| 亚洲成人精品一区| 久久激情五月婷婷| 国产在线乱码一区二区三区| 成人av在线播放网址| 99久久久精品免费观看国产蜜| 在线区一区二视频| 欧美色综合久久| 日韩精品一区二区三区中文精品| 日韩美女一区二区三区四区| 欧美激情一区不卡| 亚洲日本护士毛茸茸| 国产精品女人毛片| 日韩高清国产一区在线| 免费看精品久久片| 99久久精品国产观看| 在线观看区一区二| 久久久久久99精品| 国产精品每日更新在线播放网址 | 欧美久久久久中文字幕| 日韩一区二区三区电影在线观看 | 久热成人在线视频| 国产一区91精品张津瑜| 一本大道av一区二区在线播放| 在线亚洲精品福利网址导航| 亚洲精品一区二区精华| 中文字幕国产一区二区| 三级一区在线视频先锋 | 国产一区二区三区| 成人三级伦理片| eeuss鲁片一区二区三区| 欧美丰满高潮xxxx喷水动漫| 久久久久久久久久美女| 亚洲国产三级在线| 黄页视频在线91| 欧美日韩成人激情| 久久夜色精品国产噜噜av| 亚洲成人黄色影院| 国产曰批免费观看久久久| 欧美麻豆精品久久久久久| 久久综合五月天婷婷伊人| 国产精品二三区| 日韩av一级电影| 国产美女一区二区三区| 欧美日本国产视频| 欧美韩国一区二区| 精久久久久久久久久久| 日本精品一级二级| 国产精品传媒在线| 麻豆成人免费电影| 欧美日韩国产乱码电影| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲情趣在线观看| 国产精品一区二区三区99| 欧美性猛交xxxx黑人交| 中文字幕欧美一区| 精品一区二区三区免费| 欧美一区二区视频网站| 亚洲人吸女人奶水| 91色.com| 欧美韩日一区二区三区| 国产电影一区二区三区| 91精品国产黑色紧身裤美女| 天天操天天色综合| 91视频.com| 一区二区三区欧美| 成人福利在线看| 欧美精品一区视频| 久久国产三级精品| 日韩精品中文字幕在线不卡尤物 | 日韩欧美中文字幕公布| 日韩激情在线观看| 色偷偷久久人人79超碰人人澡| 亚洲人成网站色在线观看| 国产九色精品成人porny | 欧美日韩在线不卡| 亚洲综合视频网| 91国产免费看| 亚洲欧美偷拍另类a∨色屁股| 国产suv精品一区二区883| 3d动漫精品啪啪1区2区免费| 日本一不卡视频| 欧美精品粉嫩高潮一区二区| 日本va欧美va瓶| 欧美一区二区性放荡片| 精品午夜久久福利影院| 欧美电视剧在线观看完整版| 国产精品一区二区黑丝 | 国产日韩欧美激情| 国产乱妇无码大片在线观看| 国产精品久久久久久久久久免费看 | 亚洲电影在线免费观看| 欧洲av一区二区嗯嗯嗯啊| 午夜伦欧美伦电影理论片| 欧美日韩一级片在线观看| 蜜桃视频免费观看一区| 3d成人h动漫网站入口| 极品少妇xxxx精品少妇偷拍| 精品动漫一区二区三区在线观看| 日韩精品成人一区二区三区| 日韩一区二区在线免费观看| 亚洲一区av在线| 精品国产免费久久| 美女国产一区二区三区| 欧美激情一区二区在线| 91老师国产黑色丝袜在线| 亚洲成人tv网|