Java实现截图小工具的完整代码
写在前面
今天利用Java的图形用户界面GUI技术写了一个电脑截图小工具。本程序代码简单,涉及到异常处理,事件处理,图形用户界面等,是初学者练手的好项目。一起来学习吧!
效果展示
代码展示
import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; public class PrintScreen extends JFrame{ PrintScreen(){ this.setTitle("Java屏幕截图小工具"); this.setSize(400,300); this.setVisible(true); this.setDefaultCloseOperation(EXIT_ON_CLOSE); JButton jButton=new JButton("点击截图"); jButton.setSize(120,60); setLayout(new FlowLayout()); getContentPane().add(jButton); //为按钮添加监听事件 jButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { PrintScreen(); } catch (AWTException | IOException ex) { throw new RuntimeException(ex); } } }); } //实现截图功能 public static void PrintScreen() throws AWTException, IOException { Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); int width=(int)screenSize.getWidth(); int height=(int)screenSize.getHeight(); Robot robot=new Robot(); BufferedImage bi=robot.createScreenCapture(new Rectangle(width,height)); ImageIO.write(bi,"png",new File("C:\\Users\\Administrator\\Desktop","上一张截图.png")); } public static void main(String[] args){ PrintScreen printScreen=new PrintScreen(); } }
项目结构
本程序用于初学者学习,结构简单,所有功能在主类中实现。
设计思路
首先绘制窗口,添加按钮组件,然后为按钮添加监听事件,实现截图功能。新的截图放在桌面,并命名为上一张截图.png
。此路径可以根据自己的需求更改。
本程序中异常处理和事件处理是重点,也是Java进阶学习的重要部分,虽然GUI现在并没有很大的市场,甚至很多Java初学者放弃学习GUI技术,但是利用GUI编程的过程对于培养编程兴趣,深入理解Java编程有很大的作用。
本程序还可以进行优化,用于截取不同形状的截图,满足用户的需求。通过添加坐标变量来截取屏幕上所需要的像素点。同时,还可以对这个简易的窗口进行美化。本程序是一个学习Java编程的练手好项目。
项目测试
运行程序,点击截图按钮,在目标文件路径下生成一个命名为“上一张截图.png”的文件,如上图。
到此这篇关于Java实现截图小工具的完整代码的文章就介绍到这了,更多相关java截图小工具内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
关于.java编译成.class 与 .class反编译成.java问题
这篇文章主要介绍了关于.java编译成.class 与 .class反编译成.java问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-09-09SpringBoot读写xml上传到AWS存储服务S3的示例
这篇文章主要介绍了SpringBoot读写xml上传到S3的示例,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下2020-10-10SpringMVC4.3 HandlerExceptionResolver异常处理源码解析
这篇文章主要为大家介绍了SpringMVC4.3 HandlerExceptionResolver异常处理源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>2023-09-09MybatisPlus lambdaQueryWrapper中常用方法的使用
本文主要介绍了MybatisPlus lambdaQueryWrapper中常用方法的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-07-07
最新评论