我用的方法是:编写一个继承JPanel的类,再在这个类中设置背景图片
也就是重写paint(),最后把JPanel加入到JFrame中
但是我发现一个问题:如果在JFrame中再加别的组件例如按钮,刚运行是看不到,只有鼠标移到它上面才显示
这个问题怎么解决啊?
import java.awt.*;
import javax.swing.*;
class MyPanel extends JPanel
{
ImageIcon ico;
JButton btn;
MyPanel()
{
ico=new ImageIcon("bg.gif");
btn=new JButton("hello");
this.setLayout(new FlowLayout());
add(btn);
}
public void paint(Graphics g)
{
g.drawImage(ico.getImage(),0,0,this.getWidth(),this.getHeight(),this);
}
}
class test
{
public static void main(String[] args)
{
JFrame frame=new JFrame();
MyPanel panel=new MyPanel();
frame.getContentPane().add(panel);
panel.setOpaque(false);
frame.setSize(200,100);
frame.show();
}
}
----------------解决方案--------------------------------------------------------