『Demo』图片上传-显示(swing控件实现)--图形界面

图片上传及显示,当前只实现了部分功能

持续完善中······

import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

/**
 * @Description TODO 图片上传-显示
 * @Date 2021/3/12 8:00
 */
public class pictureTransceiver {

    public static void main(String[] args) {
        JFrame frame = new ImageVieweFrame();
        frame.setTitle("图片上传-显示");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //可见
        frame.setVisible(true);
        //可改变窗体大小
        frame.setResizable(false);
    }

    public static class ImageVieweFrame extends JFrame {
        private JButton warning;
        private JButton upload;
        private JButton toView_hidden;
        private JFileChooser chooser;
        private File file = null;

        public ImageVieweFrame() {

            this.setLocationRelativeTo(null);
            this.setLocation(380,150);
            this.setSize(1200,800);

            this.addMouseListener(new MouseAdapter() {
                @SuppressWarnings("unchecked")
                @Override
                public void mouseClicked(MouseEvent e) {
                    if (file == null) {//
                        warning.doClick();
                    } else {
                        String dirctory = file.getParent();
                        File file = new File(dirctory);
                        //  测试此抽象路径名表示的文件是否为目录。
                        if (file.isDirectory()) { //是目录
                            File[] files = file.listFiles();
                            @SuppressWarnings("rawtypes")
                            List list = new ArrayList<>();
                            if (files[0].getName().endsWith(".jpg")) {
                                list.add(files[0].getPath());
                            }
                            // 显示文件地址的点击事件
                            toView_hidden.addActionListener(new ActionListener() {
                                @Override
                                public void actionPerformed(ActionEvent e) {
                                    JOptionPane.showMessageDialog(warning, "文件地址为 :::=> " + list, "提示", JOptionPane.PLAIN_MESSAGE);
                                }
                            });

                        }
                    }
                }
            });

            //使用给定的文件作为路径构造JFileChooser实例
            chooser = new JFileChooser("E:\\");
            //切换当前进程的当前工作目录
            chooser.setCurrentDirectory(new File("."));
            //
            Container container = this.getContentPane();
            container.setLayout(null);

            //按钮
            upload = new JButton("上传");
            toView_hidden = new JButton();
            warning = new JButton();

            //警告弹窗
            warning.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
//                    new MyDialog("请上传文件!!!");
                    JOptionPane.showMessageDialog(warning, "请上传文件!!! ", "提示 ", 1);
                }
            });


            Dimension d = this.getSize();

            //按钮相关设置
            //设置隐藏查看区大小和位置
            toView_hidden.setSize( d.width,d.height - 200);
            toView_hidden.setLocation(0,0);
            toView_hidden.setBackground(Color.white);
            container.add(toView_hidden);

            //设置上传按钮的大小和位置,并添加到容器中
            upload.setSize(150, 40);
            upload.setLocation(d.width-700, d.height-142);
            upload.setFont(new Font("微软雅黑", Font.PLAIN, 20));
            container.add(upload);

            //上传按钮点击事件
            upload.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    FileNameExtensionFilter filter = new FileNameExtensionFilter(
                            "JPG & PNG Images", "jpg", "png");
                    chooser.setFileFilter(filter);

                    int result = chooser.showOpenDialog(null);
                    if (result == JFileChooser.APPROVE_OPTION) {
                        file = chooser.getSelectedFile();

                        String name = file.getPath();
                        toView_hidden.setIcon(new ImageIcon(name));
                    }
                }
            });
        }
    }
}
感谢大佬的阅读!
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值