百度增强特效————gui布局篇

发布时间 2023-12-04 03:23:15作者: 王庆园

本篇是我自己的窗口布局,有一点:我采用的是流式布局,所以调整窗口大小的话就会变乱,因为主要在找百度代码那边的问题,所以主打一个先实现再说,至于界面什么的能看就成

给大家推荐一个B站博主:

【Java Swing入门课程_图形界面GUI编程_100集视频教程-哔哩哔哩】 https://b23.tv/QMr05qa

这个博主讲的很新手,很容易能懂,大家可以去学学基础的知识

希望代码能帮到大家,

package 图像;
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import 图像.Selfie_anime;


public class test extends JFrame  {
    public String url=null;//图片路径
    JPanel root =new JPanel();
    //定义一个button点击之后
    JButton btn =new JButton("上传图片");
    JTextField textfield=new JTextField(20);
    JLabel label =new JLabel();
    JLabel label2 =new JLabel();
    JLabel timelabel2=new JLabel("保存路径:");
    JLabel timelabel=new JLabel("特效之后照片:");
    private int width = 250, height = 250;
     
    public test() {
        
        this.setContentPane(root);
        //创建一个image对象
        
        root.setLayout(new FlowLayout(FlowLayout.LEADING,20,20));
        //创建一个按钮点击上传图片
        //添加到界面
        root.add(timelabel2);
        root.add(textfield);
        
        root.add(btn);
        
        //添加点击事件
        btn.addActionListener((e)->{
            addpicture();
        });
        
        root.add(label);
        root.add(timelabel);
        root.add(label2);
        
    }
    
    
    //选择打开文件
    public void addpicture()
    {
        JFileChooser chose=new JFileChooser();
        
        //FileNameExtensionFilter:文件名后缀过滤器
        FileNameExtensionFilter filter =new FileNameExtensionFilter("图片文件", "jpg");
        chose.setFileFilter(filter);
        
        //显示对话框
        int ret =chose.showOpenDialog(this);
        
        //获取用户的选择结果
        if(ret == chose.APPROVE_OPTION)
        {
            //结果为已经存在的一个文件
            File file=chose.getSelectedFile();
        //    textfield.setText(file.getAbsolutePath());
       //照片的原路径
            url=file.getAbsolutePath();
            //上传图片
            ImageIcon    image = new ImageIcon(url);
            
            Image img = image.getImage();
            img = img.getScaledInstance(width, height, Image.SCALE_DEFAULT);
            image.setImage(img);
            //获取到图片的image毒性
            //Image image=icon.getImage();
             label.setIcon(image);
            label.setSize(width,height);
            Selfie_anime name=new Selfie_anime();
            //把图片路径传过去
            name.filePath=url;
            //把这个文件的名称拿出来flie有个函数可以取名字
            name.name=file.getName();
            //调用方法
            name.selfie_anime();
            
            ImageIcon    image2 = new ImageIcon("你的随便一个文件夹路径"+file.getName());
            
            Image img2 = image2.getImage();
            img2 = img2.getScaledInstance(width, height, Image.SCALE_DEFAULT);
            image2.setImage(img2);
            //获取到图片的image对象
            //Image image=icon.getImage();
             label2.setIcon(image2);
            label2.setSize(width,height);
            textfield.setText("你的路径和上面一样"+file.getName());
            
        }
    }
    
    
}
package 图像;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;


public class translate {
    
     public static void main(String[] args) {
           
         //jfram指的是一个窗口
        // myframe frame=new myframe();\
         //子类继承父类所以可以直接声明
         JFrame test=new test();
         
         //当关闭窗口时候退出整个程序
         test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         
         
        
         //设置窗口大小宽高
         test.setSize(680,500);
         //显示窗口
         test.setVisible(true);
        
         
        }
    

}