IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 文件选择器(Java) -> 正文阅读

[Java知识库]文件选择器(Java)

效果显示:

1.点击文件的打开选项后

?2.找到自己电脑中的图片,窗口小了可以自己拉大显示

?3.再点击文件的另存为,将此图片存到指定地点并起名,最后点击保存

?4.找到保存图片的路径,可以看到刚才保存的图片并且可以打开显示

?

代码实现:?

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

//文件选择器
public class JFileChooserDemo {
    JFrame frame = new JFrame("测试文件选择器");

    //菜单条
    JMenuBar jmb = new JMenuBar();
    //创建菜单
    JMenu menu = new JMenu("文件");
    //菜单项
    JMenuItem open = new JMenuItem(new AbstractAction("打开") {
        @Override
        public void actionPerformed(ActionEvent e) {
            //显示文件选择器
            JFileChooser filechooser = new JFileChooser(".");//当前路径文件
            filechooser.showOpenDialog(frame);//打开文件对话框,父窗口为JFrame

            //获取选择的文件
            File file = filechooser.getSelectedFile();

            //显示文件
            try {
                image = ImageIO.read(file);
                drawArea.repaint();//重绘画面
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    });

    JMenuItem save = new JMenuItem(new AbstractAction("另存为") {
        @Override
        public void actionPerformed(ActionEvent e) {
            //显示文件选择器
            JFileChooser filechooser = new JFileChooser(".");//当前路径文件
            filechooser.showSaveDialog(frame);//保存文件,父窗口为JFrame

            //获取选择的保存文件路径
            File file = filechooser.getSelectedFile();

            //保存文件
            try {
                ImageIO.write(image,"jpeg",file);
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    });

    BufferedImage image;

    //画布
    private class Mycanvas extends JPanel{
        @Override
        public void paint(Graphics g) {
            g.drawImage(image,0,0,null);
        }
    }

    Mycanvas drawArea = new Mycanvas();

    //组装视图
    public void init(){
        menu.add(open);
        menu.add(save);
        jmb.add(menu);
        frame.setJMenuBar(jmb);

        drawArea.setPreferredSize(new Dimension(740,500));//画布大小
        frame.add(drawArea);

        frame.pack();
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

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

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-15 18:08:21  更:2021-12-15 18:09:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:59:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码