package Mange; import java.awt.Graphics; import java.awt.Image; import javax.swing.ImageIcon; import javax.swing.JPanel; /** * * @author FF */ public class RePanel extends JPanel{ protected void paintComponent(Graphics g){//重写paintComponent方法以实现jPanel加背景 super.paintComponent(g); ImageIcon image=new ImageIcon(getClass().getResource("/Images/background.jpg")); //获取图像 image.setImage(image.getImage().getScaledInstance(this.getWidth(),this.getHeight(),Image.SCALE_FAST)); //调整图像的分辨率以适应容器 image.paintIcon(this, g,0, 0); } }
你好,我用你的方法实现了更改背景,我现在想用点击按钮更换panel背景,大概是要在按钮的函数里面重写panel的方法,百度了很久,根本查不到,想问下有经验的人能够写出来吗?
N年不用java写图形界面,但想了想,在点击事件中给上边图形重绘的方法重新来一遍应该可行。代码如下:
首先谢谢楼主啦,辛苦了,在看你代码之前我想到了这个方法,但是估计是多个面板的缘故,背景换成功了,然后其他面板的组件例如按钮那些都看不见了,要用鼠标滑过才出现,貌似是因为重绘后其他组件要重新初始化一次,我自己先想想,实在不行再看你的代码,好吗?
请问如何更改JFrame中JPanel的背景呢?