java swing 替JPanel动态设置背景图片
java swing 为JPanel动态设置背景图片
动态设置JPanel背景图片
一直没怎么用过swing编程。最近自己做个小程序需要动态修改背景图片。找了很多地方始终没开窍。请教了twaver的高人,茅塞顿开。
1 重写paintComponent方法
2 设置好Image变量供g.drawImage(icon.getImage(), 0, 0, null);使用
3 调用JPanel的repaint();方法。该方法调用后会调用paintComponent方法。
动态设置JPanel背景图片
一直没怎么用过swing编程。最近自己做个小程序需要动态修改背景图片。找了很多地方始终没开窍。请教了twaver的高人,茅塞顿开。
1 重写paintComponent方法
public class Test{ private JFrame frame; private URL url; class MyJPanel extends JPanel{ @Override protected void paintComponent(Graphics g){ super.paintComponent(g); icon = new ImageIcon(url);//[color=red]图片路径不能固定否则无法动态修改图片[/color] if(icon!= null){ g.drawImage(icon.getImage(), 0, 0, null); } } } }
2 设置好Image变量供g.drawImage(icon.getImage(), 0, 0, null);使用
url = getClass().getClassLoader().getResource("xxx.jpg");//xxx.jpg在class目录下 ImageIcon icon = new ImageIcon(url); Image img = icon.getImage()
3 调用JPanel的repaint();方法。该方法调用后会调用paintComponent方法。