实现屏幕截图的小程序java课程设计.doc
《实现屏幕截图的小程序java课程设计.doc》由会员分享,可在线阅读,更多相关《实现屏幕截图的小程序java课程设计.doc(9页珍藏版)》请在课桌文档上搜索。
1、一、实验题目实现屏幕截图的小程序二、实验要求编程一个应用小程序,能够具有屏幕截图的功能,截图的具体实现有:1显示出工作区域,即能够截屏的面积;2鼠标可以随意滑动进展截图;3将所截取的图片保存在想要保存的位置;4程序完毕后可以退出整个应用。三、程序流程图3.1 业务流程图4、 技术原理程序的主类是cutScreen,继承自无边框的框架JWindow;cutScreen()是一个定义屏幕尺寸的构造方法;使用方法mousePressed(MouseEvent e)来监听当前鼠标点击的动作;用方法mouseReleased(MouseEvent e)监听鼠标松开时,显示操作窗口;方法mouseDrag
2、ged(MouseEvent e)监听拖动鼠标;paint(Graphics g)画出指定的工作区域;saveImage()保存图像。工具栏ToolsWindow类,继承自有边框的框架JFrame;方法init用来设置布局方式为BorderLayout;run()捕捉屏幕截图。五、附实验代码import java.awt.*;import java.awt.event.*;import java.awt.image.BufferedImage;import java.awt.image.RescaleOp;import java.io.File;import java.io.IOE*cepti
3、on;import java.te*t.SimpleDateFormat;import java.util.Date;import java*.imageio.ImageIO;import java*.swing.*;import java*.swing.filechooser.FileNameE*tensionFilter;import java*.swing.filechooser.FileSystemView;/Jwindow 是一个无边框的框架 public class cutScreen e*tends JWindow /begin* 开场的横坐标; beginY开场的纵坐标priv
4、ate int begin*, beginY, end*, endY;private BufferedImage image = null;private BufferedImage tempImage = null;private BufferedImage saveImage = null;private ToolsWindow tools = null; /构造方法public cutScreen() throws AWTE*ception, IOE*ception / 获取屏幕尺寸宽和高int width = Toolkit.getDefaultToolkit().getScreenS
5、ize().width;int height = Toolkit.getDefaultToolkit().getScreenSize().height;/ 设置窗口大小/(0, 0, width, height)第一个0代表横坐标 ,第二个代表纵坐标this.setBounds(0, 0, width, height);/ 截取屏幕Robot robot = new Robot();/参数Rectangle是代表工作区域image = robot.createScreenCapture(new Rectangle(0, 0, width, height);ImageIO.write(image
6、, jpg, new File(d:/1);/ 本窗口添加监听适配器this.addMouseListener(new MouseAdapter() Override/当前鼠标点击动作public void mousePressed(MouseEvent e) begin* = e.get*();beginY = e.getY();if (tools != null) tools.setVisible(false);Overridepublic void mouseReleased(MouseEvent e) / 鼠标松开时,显示操作窗口if (tools = null) tools = ne
7、w ToolsWindow(cutScreen.this, e.get*(), e.getY(); else tools.setLocation(e.get*(), e.getY();tools.setVisible(true);/ 将此窗口置于前端,并可以将其设为焦点 Windowtools.toFront(););/ 监听拖动鼠标this.addMouseMotionListener(new MouseMotionAdapter() Overridepublic void mouseDragged(MouseEvent e) / 鼠标拖动时,记录坐标并重绘窗口end* = e.get*()
8、;endY = e.getY();/ 临时图像,用于缓冲屏幕区域放置屏幕闪烁Image tempImage2 = createImage(cutScreen.this.getWidth(),cutScreen.this.getHeight();Graphics g = tempImage2.getGraphics();g.drawImage(tempImage, 0, 0, null);int * = Math.min(begin*, end*);int y = Math.min(beginY, endY);int width2 = Math.abs(end* - begin*) + 1;in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实现 屏幕 截图 程序 java 课程设计

链接地址:https://www.desk33.com/p-16245.html