-
大小: 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
相关资源
- JAVA828436
- JAVA3D编程示例(建模、交互)
- java swing 做的 汽车租赁系统
- java实现小型函数画图板(附源代码、
- java 简易签到表
- 日历时钟java版实现
- java多线程编程 在主线程main中创建两
- JAVA坦克大战游戏源代码
- 科研管理系统 java swing mysql
- 【教程】100个Java GUI swing的小程序.r
- Java网络编程知识点总结.xmind
- 一站式Java网络编程 BIO-NIO-AIO资料源码
- Java Swing开发的《星际争霸》游戏
- java swing工资管理系统(源码+数据库
- java并发编程实战高清版pdf
- java并发编程实战pdf
- JavaSE图书馆管理系统
- Android编程设计模式之原型模式详解
- JAVA并发编程实战.pdf
- [Java并发编程实践].(Java.Concurrency.i
- 尚硅谷Java基础视频教程讲解 , java
- 天猫Java并发编程常识.pptx
- Java编程实现暴力破解WIFI密码的方法分
- javaSwing宿舍管理系统
- Swing俄罗斯方块
- [Java] Java Web 应用高级编程 (英文版)
- 指令字典编程字典
- JAVA开发的中国象棋游戏包括源码和需
- java swing 用户登录界面设计
- 基于java的坦克大战游戏234736
评论
共有 条评论