gpt4 book ai didi

java - 无法使用按钮实例化类

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:17:45 25 4
gpt4 key购买 nike

我正在尝试制作一个屏幕捕获程序。

我有一个透明窗口,它会给出要捕获的区域,上面有一个按钮capture,我正在尝试实例化一个类captureScreen当使用命令提示符单独执行 captureScreen 时效果很好

我正在尝试在点击 capture 按钮时实例化此 captureScreen 类。

我已尝试将此 保留在我的screenrecord.java 中,并将代码也放入事件监听器 中。在这两种情况下,我都会遇到这些错误

AWTException,must be caught or declared

 Robot robot = new Robot();

BufferedImage image 行中的 IOException。

并且保持 captureScreen.java 独立没有任何作用。System.out.println("Start"); 甚至不会打印任何东西。

这是我的screenrecord.java代码

public class screenrecord extends JFrame implements ActionListener{
public screenrecord() {...
}
public void actionPerformed(ActionEvent e){
if ("record".equals(e.getActionCommand())) {
captureScreen a = new captureScreen();
}
}
}

captureScreen.java,单独工作正常。

public class captureScreen extends Object{

public static void main(String args[]){
...
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
ImageIO.write(image, "png", new File(filename));
System.out.println("Done");
}

}

欢迎并感谢您的所有建议、意见和建议。请帮我解决这个问题。谢谢。

最佳答案

您需要使用 try/catches。这些与其说是错误不如说是警告。例如,在具有 AWTException 的代码周围插入:

try
{
//code causing AWTException
Robot robot = new Robot();
}
catch(AWTException e)
{
System.out.println("Error"+e);
}

和:

try
{
//code causing IOException
BufferedImage image = robot.createScreenCapture(screenRectangle);
}
catch(IOException e)
{
System.out.println("Error"+e);
}

或者两者结合:

try
{
//code causing AWTException or IOException
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
}
catch(IOException e)
{
System.out.println("Error"+e);
}
catch(AWTException e)
{
System.out.println("Error"+e);
}

为了进一步阅读,这可能有助于澄清异常(exception)情况:

http://docs.oracle.com/javase/tutorial/essential/exceptions/definition.html

关于java - 无法使用按钮实例化类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17220399/

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