每次选择新图像时,都在这里不必要地创建了组件,并且错误地出现在这里:
public void setTarget(File reference) { //.... panel_1.setLayout(new BorderLayout(0, 0)); panel_1.add(new JLabel(new ImageIcon(targetImg))); setVisible(true);相反,我建议你在选择任何文件/图像之前,从一开始就创建所有这些组件,然后在此方法中,根据图像创建一个ImageIcon,然后简单地使用此Icon来设置已经存在的JLabel,而不是新的JLabel。只需调用
myLabel.setIcon(new ImageIcon(targetImg));



