请原谅我复杂的GUI结构,这是我的新手:图片-> ImageIcon-> JLabel-> JScrollPane-> JPanel-> JTabbedPane-> JFrame的URL。

这个想法是通过有一个按钮来更新图片,该按钮的动作会更新部分url。 为了确保此按钮确实更改了URL,我有一个JTextfield,它在单击按钮时显示URL。 文本字段中的url显示确实进行了更新,但GUI中的图片保持不变。

用于创建图像窗格的类:

import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.*;

public class MapPicturePanel {
    public JScrollPane getContent(BufferedImage image) {
        ImageIcon icon = new ImageIcon(image);
        JLabel label = new JLabel(icon);
        label.setHorizontalAlignment(JLabel.CENTER);
        return new JScrollPane(label);        
    }



}

谢谢。

===============>>#1 票数:2 已采纳

请勿在每次更改图像时创建新面板。

而是只读取图像,创建一个新的ImageIcon,然后可以使用:

label.setIcon(...);

标签会自动重新绘制自身。

===============>>#2 票数:1

更改URL后添加repaint()命令

  ask by JavaNoob translate from so

未解决问题?本站智能推荐: