文档章节

Java简单截屏小工具

YuanyuanL
 YuanyuanL
发布于 2015/06/09 17:21
字数 135
阅读 98
收藏 0
import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
 
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JDialog;
public class CaptureScreen
{
    public static void captureScreen(String fileName)
    {
        System.out.println("file:"+fileName);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Rectangle screenRectangle = new Rectangle(screenSize);
        try
        {
            Robot robot = new Robot();
            BufferedImage image = robot.createScreenCapture(screenRectangle);
            ImageIO.write(image, "png", new File(fileName));
        } catch (AWTException | IOException ex)
        {
            System.out.println(ex.getMessage());
            ex.printStackTrace();
        }
    }
    public static void main(String[] args)
    {
        JDialog d = new JDialog();
        d.setIconImage(null);
        d.setSize(250, 150);
        JButton btn = new JButton("点我截屏");
        d.add(btn);
        btn.addActionListener(new ActionListener()
        {
            @Override
            public void actionPerformed(ActionEvent evt)
            {
                CaptureScreen.captureScreen("F:"+File.separator+System.currentTimeMillis()+".png");
            }
        });
        d.setLocationRelativeTo(null);
        d.setVisible(true);
    }
}

  参考文章:http://www.oschina.net/code/snippet_1586782_48653(感谢原作者)


© 著作权归作者所有

共有 人打赏支持
YuanyuanL

YuanyuanL

粉丝 152
博文 320
码字总数 187682
作品 0
济南
部门经理
加载中

评论(2)

YuanyuanL
YuanyuanL

引用来自“WYRiver”的评论

http://www.cnblogs.com/tgyf/p/4851092.html
W
WYRiver
http://www.cnblogs.com/tgyf/p/4851092.html
cjz010/PCScreenQReader

屏幕QR读取器 项目介绍 屏幕QR读取器. 安装教程 下载release目录下所有文件; 运行对应系统的脚本; 截屏后自动解析屏幕上的qr码。 如图 源码可以参考的价值: 1. java最小化到托盘的实现 关闭...

cjz010
07/26
0
0
Android开源中国客户端学习 截屏模块

这次分享的功能比较简单,是osc的截屏模块,效果如下 ![图片说明文字][1] 这个功能用户体验还是不错的,在很多软件都也都内置了这个功能 这个功能的原理是: 1.在需要截屏的activity的window上覆...

sisuad
2013/07/17
0
1
使用ubuntu操作系统的常用技巧

用了两年的ubuntu,每次在新电脑里都会进行相同的操作,当然,这些操作我记录在了google-chrome的书签上,现在将其总结出来,分享给大家,让大家在对ubuntu入门快一些,不要再为一些小事折腾...

墙头草
2011/05/06
0
0
【JVM系列】深入了解JVM 、JRE、JDK三者的联系

JDK: Java Development Tool Kit(Java开发工具包)。JDK就是我们用来做事情的工具,它包括JRE还有其他工具。我们所说版本的不同,也就是说它里面的工具有差异。就像是你不同的工具箱里放着不同...

磊神Ray
2011/09/21
0
1
JVM学习总结五——性能监控及故障处理工具

之前扯了四篇理论,这一篇终于可以动动手了。本篇我们将介绍JVM常用的一些工具,这些工具将是我们监控JVM状态、处理故障和调优分析的利器。 不过在开始之前,我还是要先车扯两句:工具终归只...

oO脾气不坏Oo
2014/03/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式

自测: Q:何为代理模式? 代理是一种__或者__,控制对另一个对象的访问,而这些对象可能是__对象,______的对象,或者是对______的对象。 Q:那些角色及划分? 3个核心角色 角色一:____ 角...

阿元
20分钟前
0
0
面试经验

原文

火力全開
25分钟前
0
0
Kubernetes 教程(一) 环境安装并配置一个集群

Git<---------->jenkins docker<--------->kubernetes ?

MrPei
39分钟前
1
0
linux学习-0919

linux和windows互传文件 用户配置文件和密码配置文件 用户组管理 用户管理 一、linux和windows互传文件 linux和windows可以互相传输文件,但是需要使用xshell 并且安装lrzsz包: yum insta...

wxy丶
46分钟前
1
0
收集几个开源的微信小程序开发框架

1、 mpvue mpvue 是美团点评开源的一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小...

哥本哈根的小哥
53分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部