gpt4 book ai didi

JAVA Stack Pop 错误,尝试创建撤消

转载 作者:行者123 更新时间:2023-12-01 15:24:10 25 4
gpt4 key购买 nike

我尝试使用stack执行撤消按钮,以便它可以删除应用的效果,例如模糊等,但是当我尝试弹出我存储在堆栈中的图像出了问题,请帮助我,提前致谢!

应用效果:

if (e.getSource() == btnGrayscale) {
if (buffImage != null) {
Imagesteps.push(buffImage);
ImageEffects ie = new GrayscaleEffect();

buffImage = ie.GrayscaleEffect(buffImage);
Icon icon = new ImageIcon(buffImage);
lblImage.setIcon(icon);
statusBar.setText("Image is now Grayscaled");
}
}

撤消方法:

if (e.getSource() == undoimageitem) {
BufferedImage temp = (BufferedImage) Imagesteps.pop();
Icon icon = new ImageIcon(temp);
lblImage.setIcon(icon);
statusBar.setText("Undo");
}

最佳答案

从您收到的异常来看,您似乎正在尝试从空堆栈中弹出。为了避免此错误,理想情况下,在弹出之前,请确保堆栈的大小至少大于或等于 1。

至于为什么您会遇到异常,原因可能有很多。我想到的两个是:

  • 您在代码中的某个时刻在推送项目和从堆栈中弹出项目之间重新初始化/清除堆栈。

  • 假设与大多数按钮一样,该方法是通过单击激活的,您双击按钮,从而导致事件触发两次,这可能导致代码执行两次弹出操作,从而导致问题。

关于JAVA Stack Pop 错误,尝试创建撤消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10414367/

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