我在GUI中更新图片时遇到问题。除了这些方法之外的所有内容都被正确编码,因为当我在GUI的初始化中编写代码(来自下面的“setImage”方法)时会出现Image。
我正在尝试获取单击按钮时更新图像的方法。但是,单击该按钮时,没有任何更改。方法调用正确地写在MouseListener中。所有JLabel / Images都被声明为私有,因此我可以在方法中调用它们。
public void setImage(String path) {
//path = "imageName.png"
removeImageLabel();
try {
img = ImageIO.read(new File(path));
} catch (IOException e) {
e.printStackTrace();
}
imageLabel = new JLabel(new ImageIcon(img));
imagePanel.add(imageLabel);
imagePanel.repaint();
}
public void removeImageLabel() { //removes the current image from the GUI
imagePanel.remove(imageLabel);
}
我有其他方法可以根据按钮点击设置元素,但是这个方法似乎不起作用。不会抛出任何错误,但不会更新任何内容。有什么问题?
注意:我在方法中添加了println()并调用它。
新: 我在创建GUI时添加了一个图像并显示,但是在调用方法时它永远不会删除。