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条)