因为JPanel可以放gif,我选择来当背景,问题就出现了 我重写paint()方法后,画面不显示paint图像,当我去掉JPanel后图像就出现了,是不是这两个东西不能共存,请问有没有有解决方案,谢谢了
public class GamePanel extends JFrame implements KeyListener {
public Hero hero;
//窗口启动与背景
public void launchJFrame(){
JFrame jf=new JFrame("节奏几何");
Background background=new Background();
//添加背景标签组件
jf.getLayeredPane().add(background.paintBackground());
//把窗口面板设为内容面板并设为透明、流动布局
JPanel pan=(JPanel)jf.getContentPane();
//组件透明
pan.setOpaque(false);
//面板的布局设置为flowlayout
pan.setLayout(new FlowLayout());
//面板添加到窗口面板
jf.setSize(1500,800);
//窗口将置于屏幕的中央
jf.setLocationRelativeTo(null);
//关闭窗口关闭程序
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//JFrame对象显示
jf.setVisible(true);
//窗口不可以控制大小
jf.setResizable(false);
//键盘监听
jf.addKeyListener(this);
}
@Override
public void paint(Graphics g){
//hero图片
g.drawImage(hero.img, hero.x, hero.y, hero.width, hero.height,null);
}
public static void main(String[] args) {
GamePanel gamePanel=new GamePanel();
gamePanel.launchJFrame();
}