-
大小: 5KB文件类型: .java金币: 1下载: 0 次发布日期: 2021-05-17
- 语言: Java
- 标签: Swing 编程 JFileChoose
资源简介
Swing做的简单图片查看器,JFileChoose的用法。
代码片段和文件信息
package yixita;
import java.io.File;
import java.beans.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.filechooser.*;
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
相关资源
- java写的一个流星雨小程序
- httpmime-4.1.2.jar
- Java编程思想第4版源代码+习题答案
- java 多线程编程 月食效果
- Java开发的数独游戏
- 《Java编程规范第三版》PDF.txt
- 安卓音乐播放器-乐看播放器源码.ra
- Java编程实现A*算法完整代码
- java的swing实现计时与倒计时
- Jpcap资料与应用
- 多线程web服务器 附实验报告 java
- 网络五子棋游戏java socket swing 小项目
- 华为Java编程规范试题2(含答案)
- java8 编程参考官方教程(第9版)
- ATM模拟系统.zip
- 《奔跑吧!小恐龙》小游戏_源代码
- java GUI awt 实现鼠标绘制矩形,鼠标拖
- java swing 编写的简易计算器
- java贪吃蛇源码联网
- java联网贪吃蛇
- Java swing学生信息管理系统
- Java swing实现简单的C/S聊天及文件传输
- Java课设:内有课程设计报告以及完整
- 智能家居小项目Android+51单片机+ESP82
- 基于java的socket聊天室通信编程
- Java经典编程题汇总
- Java并发编程高阶技术-高性能并发框架
- 很好用swing界面jar包
- 社团活动学分管理系统
- swing gif 所需jar包
评论
共有 条评论