package a;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.util.TimerTask;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.Timer;
public class JF2 extends JFrame {
// Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
// Rectangle rectangle = new Rectangle(dimension);
// Robot robot = new Robot();
// BufferedImage bufferedImage = robot.createScreenCapture(rectangle);
// ImageIcon imageIcon = new ImageIcon(bufferedImage);
// JLabel jl = new JLabel(imageIcon);
public static Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
// JTextPane jtp = Main.jTextPane;
public static JScrollPane jsp = Main.jScrollPane;
public static Rectangle rectangle = new Rectangle(Main.main.getBounds());
public static Rectangle rectangle2 = Dao.graphicsDevices[1].getDefaultConfiguration().getBounds();
public static Robot robot = null;
public static BufferedImage bufferedImage = null;
public static ImageIcon imageIcon = null;
public static JLabel jLabel = null;
public static JPanel jPanel = null;
public static JF2 jf2 = new JF2();
public JF2() {
try {
jPanel = new JPanel();
robot = new Robot();
bufferedImage = robot.createScreenCapture(rectangle);
imageIcon = new ImageIcon(bufferedImage);
jLabel = new JLabel(imageIcon);
this.setBounds(0, 0, 1000, 700);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
this.setTitle("大屏幕");
this.setUndecorated(true);
this.addKeyListener(Main.main);
jPanel.add(jLabel, BorderLayout.CENTER);
this.add(jPanel);
java.util.Timer timer = new java.util.Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
rectangle = new Rectangle(Main.main.getX(), Main.main.getY(), Main.jScrollPane.getWidth(),
Main.jScrollPane.getHeight() + Main.main.getInsets().top);
bufferedImage = robot.createScreenCapture(rectangle);
imageIcon.setImage(
bufferedImage.getScaledInstance(rectangle2.width, rectangle2.height, Image.SCALE_FAST));
jLabel.setIcon(imageIcon);
jLabel.repaint();
paint(jPanel.createImage(getWidth(), getHeight()).getGraphics());
Main.main.requestFocus();
Main.jTextPane.requestFocusInWindow();
}
}, 1, 1);
} catch (Exception exception) {
exception.printStackTrace();
}
}
// public void run() {
// rectangle = new Rectangle(Main.main.getX(), Main.main.getY(),
// Main.jScrollPane.getWidth(),
// Main.jScrollPane.getHeight() + Main.main.getInsets().top);
//
// bufferedImage = robot.createScreenCapture(rectangle);
// imageIcon.setImage(bufferedImage.getScaledInstance(this.getWidth(),
// this.getHeight(), Image.SCALE_FAST));
//
// jLabel.setIcon(imageIcon);
// jLabel.repaint();
//
// Thread t = new Thread(this);
// try {
// t.sleep(20);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// t.start();
// Main.main.requestFocus();
// Main.jTextPane.requestFocusInWindow();
// }
}
jf2双缓冲加上timer,去掉了多线程
最新推荐文章于 2025-12-22 15:57:21 发布

1011

被折叠的 条评论
为什么被折叠?



