gpt4 book ai didi

隐藏父窗口后拍摄的 Java 屏幕截图

转载 作者:行者123 更新时间:2023-11-30 07:33:33 29 4
gpt4 key购买 nike

我正在尝试(并实现)获取屏幕截图:

robot = new Robot();
BufferedImage biScreen = robot.createScreenCapture(rectScreenSize);
ia.setImage(biScreen);

这很好用,但是这个操作是从 JPanel 内的 JButton 调用的。当我单击按钮时,在调用 ScreenCapture 类之前,我尝试使用以下方法隐藏 JPanel,但没有成功:

super.getTopLevelAncestor().setVisible(false); 
super.getTopLevelAncestor().validate();
super.getTopLevelAncestor().revalidate();
super.getTopLevelAncestor().repaint();

ScreenCapture capture = new ScreenCapture("Screenshot's title", p); //create capture window with screenshot taken

如何在截屏之前隐藏我的 JPanel?目前,我正在获取桌面的屏幕截图,其中 JPanel 始终可见。

干杯!

最佳答案

如果您位于按钮操作内,则会在 EDT ( Event Dispatch Thread ) 内调用您

如果您从那里调用 setVisible(false),则必须等到窗口处理完您刚刚发送的事件 - 在此之前窗口仍然可见。

我建议您使用 SwingUtilities.invokeLater() 延迟屏幕截图,或者(如果发生得太早)启动一个延迟一半的 Timer等一下,计时器启动后进行屏幕截图。

关于隐藏父窗口后拍摄的 Java 屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35724205/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com