百度增强特效————gui布局篇
本篇是我自己的窗口布局,有一点:我采用的是流式布局,所以调整窗口大小的话就会变乱,因为主要在找百度代码那边的问题,所以主打一个先实现再说,至于界面什么的能看就成
给大家推荐一个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); } }