实现屏幕截图的小程序 java课程设计

实现屏幕截图的小程序 java课程设计

2023年6月28日发(作者:)

实现安全工作方针与目标的措施

经济与管理学院信息管理与信息系统专业

《java实验周》报告

(2015/2016学年 第一学期)

学生姓名:

学生班级:

学生学号:

指导教师:

2015年12月25日

页脚内容 实现安全工作方针与目标的措施

实现屏幕截图的小程序页脚内容

1

实现安全工作方针与目标的措施

一、实验题目

实现屏幕截图的小程序

二、实验要求

编程一个应用小程序,能够具有屏幕截图的功能,截图的具体实现有:

(1)显示出工作区域,即能够截屏的面积;

(2)鼠标可以随意滑动进行截图;

(3)将所截取的图片保存在想要保存的位置;

(4)程序结束后可以退出整个应用。

三、程序流程

图3.1 业务流程图

页脚内容2 实现安全工作方针与目标的措施

四、技术原理

程序的主类是cutScreen,继承自无边框的框架JWindow;cutScreen()是一个定义屏幕尺寸的构造方法;使用方法mousePressed(MouseEvent e)来监听当前鼠标点击的动作;用方法mouseReleased(MouseEvent e)监听鼠标松开时,显示操作窗口;方法mouseDragged(MouseEvent e)监听拖动鼠标;paint(Graphics g)画出指定的工作区域;saveImage()保存图像。

工具栏ToolsWindow类,继承自有边框的框架JFrame;方法init()用来设置布局方式为BorderLayout;run()捕捉屏幕截图。

五、附实验代码

import .*;

import .*;

import edImage;

import eOp;

import ;

import ption;

import DateFormat;

import ;

import O;

import .*;

import meExtensionFilter;

import stemView;

//Jwindow 是一个无边框的框架

public class cutScreen extends JWindow {

//beginX 开始的横坐标; beginY开始的纵坐标

private int beginX, beginY, endX, endY;

private BufferedImage image = null;

private BufferedImage tempImage = null;

private BufferedImage saveImage = null;

private ToolsWindow tools = null;

//构造方法

页脚内容3 实现安全工作方针与目标的措施

public cutScreen() throws AWTException, IOException {

// 获取屏幕尺寸宽和高

int width = aultToolkit().getScreenSize().width;

int height = aultToolkit().getScreenSize().height;

// 设置窗口大小

//(0, 0, width, height)第一个0代表横坐标 ,第二个代表纵坐标

nds(0, 0, width, height);

// 截取屏幕

Robot robot = new Robot();

//参数Rectangle是代表工作区域

image = ScreenCapture(new Rectangle(0, 0, width, height));

(image, "jpg", new File("d:/1"));

// 本窗口添加监听(适配器)

seListener(new MouseAdapter() {

@Override

//当前鼠标点击动作

public void mousePressed(MouseEvent e) {

}

@Override

public void mouseReleased(MouseEvent e) {

// 鼠标松开时,显示操作窗口

if (tools == null) {

tools = new ToolsWindow(, (), ());

beginX = ();

beginY = ();

if (tools != null) {

}

ible(false);

} else {

ation((), ());

页脚内容4 实现安全工作方针与目标的措施

});

}

}

ible(true);

// 将此窗口置于前端,并可以将其设为焦点 Window

t();

// 监听拖动鼠标

seMotionListener(new MouseMotionAdapter() {

@Override

public void mouseDragged(MouseEvent e) {

// 鼠标拖动时,记录坐标并重绘窗口

endX = ();

endY = ();

// 临时图像,用于缓冲屏幕区域放置屏幕闪烁

Image tempImage2 = createImage(th(),

ght());

Graphics g = phics();

age(tempImage, 0, 0, null);

int x = (beginX, endX);

int y = (beginY, endY);

int width2 = (endX - beginX) + 1;

int height2 = (endY - beginY) + 1;

ct(x - 1, y - 1, width2 + 1, height2 + 1);

// 生成子区域流图片

saveImage = image(x, y, width2, height2);

//画出图片

age(saveImage, x, y, null);

//绘制当前指定的区域的图片

phics().drawImage(tempImage2, 0, 0,

);

页脚内容5 实现安全工作方针与目标的措施

});

}

}

// @Override

//画出指定的工作区域

public void paint(Graphics g) {

}

// 保存图像到文件

public void saveImage() throws IOException {

JFileChooser jfc = new JFileChooser();

logTitle("保存");

// 文件过滤器,用户过滤可选择文件

FileNameExtensionFilter filter = new FileNameExtensionFilter("JPG",

"jpg");

//进行逐像素重缩放

RescaleOp ro = new RescaleOp(0.8f, 0, null);

tempImage = (image, null);

age(tempImage, 0, 0, this);

eFilter(filter);

// 初始化一个默认文件(此文件会生成到桌面上)

// 生成时间

SimpleDateFormat sdf = new SimpleDateFormat("yyyymmddHHmmss");

String fileName = (new Date());

File filePath = eSystemView().getHomeDirectory();

File defaultFile = new File(filePath + tor + fileName

+ ".jpg");

ectedFile(defaultFile);

int flag = veDialog(this);

if (flag == E_OPTION) {

File file = ectedFile();

页脚内容6 实现安全工作方针与目标的措施

}

/*

}

String path = h();

//n(path);

// 检查文件后缀,放置用户忘记输入后缀或者输入不正确的后缀

if (!(th(".jpg") || th(".JPG"))) {

}

// 写入文件

(saveImage, "jpg", new File(path));

(0);

path += ".jpg";

* 操作窗口

*/

//ToolsWindow 内部类

class ToolsWindow extends JFrame {

private cutScreen parent;

//构造函数(cutScreen,int x, int y)x代表鼠标释放位置的横坐标,

public ToolsWindow(cutScreen parent, int x, int y) {

}

private void init() {

= parent;

();

ation(x, y);

//让窗口里面的组建确定为最佳大小

();

ible(true);

//设置布局方式为BorderLayout

out(new BorderLayout());

页脚内容7 实现安全工作方针与目标的措施

}

}

//工具栏

JToolBar toolBar = new JToolBar();

// 保存按钮

JButton saveButton = new JButton("保存");

//匿名内部类添加监听

ionListener(new ActionListener() {

});

(saveButton);

// 关闭按钮

JButton closeButton = new JButton("关闭");

ionListener(new ActionListener() {

});

(closeButton);

(toolBar, );

@Override

public void actionPerformed(ActionEvent e) {

}

(0);

@Override

public void actionPerformed(ActionEvent e) {

}

try {

age();

} catch (IOException e1) {

}

tackTrace();

public static void main(String[] args) {

Later(new Runnable() {

页脚内容8 实现安全工作方针与目标的措施

}

}

});

@Override

public void run() {

}

try {

cutScreen cutScreen = new cutScreen();

ible(true);

} catch (Exception e) {

}

tackTrace();

六、实验结果

页脚内容9 实现安全工作方针与目标的措施

图6.1 截图

图6.2 保存

七、个人总结

一周的课程设计结束了,刚开始对所要设计的课题完全没有头绪,通过网上查找一页脚内容10 实现安全工作方针与目标的措施

些相关资料和同学的帮助,成功设计出能够实现屏幕截图的java程序。在这个过程中,我学会了很多,不过,还有很多知识我都不懂,比如有点糊里糊涂的感觉。看来,课本的知识还是不够的,我应该扩展自己的课外知识,多多阅读课外的相关知识,这样才能对Java更加熟悉。

在此我要谢谢帮助我解决难题的同学们,没有他们的解答和热心帮助,我很难完成这个课设。如今科技发展迅速,而Java作为一门计算机语言类的重要课程,要学好Java

是必然的。我坚信,只要有兴趣,就能学好。我会培养好自己对Java的兴趣,而且继续保持下去,为以后的路做好铺垫。

页脚内容11

发布者:admin,转转请注明出处:http://www.yc00.com/web/1687896134a54818.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信