文档章节

Java简单截屏小工具

YuanyuanL
 YuanyuanL
发布于 2015/06/09 17:21
字数 135
阅读 103
收藏 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
博文 322
码字总数 188376
作品 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
root 后的android 无线传屏(服务器端与客户端)

首先我得感谢我的大师兄以及我的师姐,还有网上的一个朋友,没有他们的帮忙我也做不出来。 进入正题吧,首先在android2.3.3/development里面新建一个文件夹(比如说test),然后在test里面建...

我不是咸蛋
2013/07/22
0
12

没有更多内容

加载失败,请刷新页面

加载更多

windows上类似dnsmasq的软件Dual DHCP DNS Server

官网地址:http://dhcp-dns-server.sourceforge.net/官网定向的下载地址:https://sourceforge.net/projects/dhcp-dns-server/files/ 设置参考地址:http://blog.51cto.com/zhukeqiang/18264......

xueyuse0012
今天
3
0
LinkedHashMap源码解析

前言 HashMap中的元素时无序的,也就是说遍历HashMap的时候,顺序和放入的顺序是不一样的。 如果需要有序的Map,就可以采用LinkedHashMap. LinkedHashMap通过维护一个包含所有元素的双向链表,...

grace_233
今天
3
0
初识flask

文档 0.10.1版本 http://www.pythondoc.com/flask/index.html 1.0.2版本 https://dormousehole.readthedocs.io/en/latest/ 安装flask $ pip3 install flaskCollecting flask Downloading......

yimingkeji
昨天
4
0
Akka系统《sixteen》译

Actor是一个封装状态(state)和行为(behavior)的对象,它们只通过交换消息通信(放入收件人邮箱的邮件)。从某种意义上说,Actor是最严格的面向对象编程形式,但它更适合将他们视为人:在与Act...

woshixin
昨天
3
0
技术工坊|如何开发一款以太坊钱包(深圳)

【好消息!】HiBlock区块链技术工坊已经成功举办了26期,其中北京1期,西安1期,成都2期,上海22期。经常有社区的小伙伴问定期举办技术工坊的除了上海以外,其他城市有没有?现在区块链技术工...

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部