Heim  >  Artikel  >  Java  >  Wie schreibe ich ein Screenshot-Gadget in Java?

Wie schreibe ich ein Screenshot-Gadget in Java?

王林
王林nach vorne
2023-05-08 23:10:061761Durchsuche

效果展示

Wie schreibe ich ein Screenshot-Gadget in Java?

代码展示

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class PrintScreen extends JFrame{
    PrintScreen(){
        this.setTitle("Java屏幕截图小工具");
        this.setSize(400,300);
        this.setVisible(true);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        JButton jButton=new JButton("点击截图");
        jButton.setSize(120,60);
        setLayout(new FlowLayout());
        getContentPane().add(jButton);
        //为按钮添加监听事件
        jButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    PrintScreen();
                } catch (AWTException | IOException ex) {
                    throw new RuntimeException(ex);
                }
            }
        });
    }
    
	//实现截图功能
    public static void PrintScreen() throws AWTException, IOException {
        Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
        int width=(int)screenSize.getWidth();
        int height=(int)screenSize.getHeight();
        Robot robot=new Robot();
        BufferedImage bi=robot.createScreenCapture(new Rectangle(width,height));
        ImageIO.write(bi,"png",new File("C:\\Users\\Administrator\\Desktop","上一张截图.png"));
    }
    public static void main(String[] args){
        PrintScreen printScreen=new PrintScreen();
    }
}

项目结构

本程序用于初学者学习,结构简单,所有功能在主类中实现。

Wie schreibe ich ein Screenshot-Gadget in Java?

设计思路

首先绘制窗口,添加按钮组件,然后为按钮添加监听事件,实现截图功能。新的截图放在桌面,并命名为上一张截图.png。此路径可以根据自己的需求更改。

本程序中异常处理和事件处理是重点,也是Java进阶学习的重要部分,虽然GUI现在并没有很大的市场,甚至很多Java初学者放弃学习GUI技术,但是利用GUI编程的过程对于培养编程兴趣,深入理解Java编程有很大的作用。

本程序还可以进行优化,用于截取不同形状的截图,满足用户的需求。通过添加坐标变量来截取屏幕上所需要的像素点。同时,还可以对这个简易的窗口进行美化。本程序是一个学习Java编程的练手好项目。

项目测试

Wie schreibe ich ein Screenshot-Gadget in Java?

运行程序,点击截图按钮,在目标文件路径下生成一个命名为“上一张截图.png”的文件,如上图。

Das obige ist der detaillierte Inhalt vonWie schreibe ich ein Screenshot-Gadget in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen