java最精简录屏

package a;

import java.awt.AWTException;
import java.awt.BorderLayout;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;

public class JF {
	public static JFrame jf = new JFrame("大屏幕");
	public static ImageIcon imageIcon = new ImageIcon();
	public static JLabel jl = new JLabel();
	public static Robot robot = null;

	public static Rectangle rectangle = new Rectangle(Main.jf.getLocationOnScreen().x, Main.jf.getLocationOnScreen().y + Main.jf.getInsets().top, Main.jf.getSize().width, Main.jf.getSize().height - Main.jf.getInsets().top);
	public static BufferedImage bufferedImage = null;
	public static Timer timer = new Timer(50, new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e) {
			rectangle.setBounds(Main.jf.getLocationOnScreen().x, Main.jf.getLocationOnScreen().y + Main.jf.getInsets().top, Main.jf.getSize().width, Main.jf.getSize().height - Main.jf.getInsets().top);
			bufferedImage = robot.createScreenCapture(rectangle);
			imageIcon.setImage(bufferedImage.getScaledInstance(jf.getWidth(), jf.getHeight(), Image.SCALE_DEFAULT));
			//jf.paint(jf.createImage(jf.getWidth(), jf.getHeight()).getGraphics());
			jl.setIcon(imageIcon);
			jl.repaint();
			System.out.println(e.getSource());
		}
	});

	public static void jf() {
		try {
			jf.setBounds(0, 0, 1000, 700);
			// jFrame.setBounds(graphicsDevices[0].getDefaultConfiguration().getBounds());
			jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			// jf.setExtendedState(JFrame.MAXIMIZED_BOTH);
			jf.add(jl, BorderLayout.CENTER);
			jf.setVisible(true);

			robot = new Robot();

//			bufferedImage = robot.createScreenCapture(rectangle);
//			imageIcon.setImage(bufferedImage.getScaledInstance(jf.getWidth(), jf.getHeight(), Image.SCALE_DEFAULT));
//			jf.paint(jf.createImage(jf.getWidth(), jf.getHeight()).getGraphics());

		} catch (AWTException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值