java 重写paint方法白屏

java窗口重写paint绘制图片不能正常显示,刚开始是运行是黑屏,后来根据网上查找改为
public void paint(Graphics g) {
super.paint(g);

}
增加了super,但是增加过后问题并没有完全解除而是变为了白屏

img

然后是全部代码希望可以告知问题出现在哪
package com.PVZ.Window;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.util.Observer;

import javax.swing.JFrame;
import javax.swing.text.StyledEditorKit.BoldAction;

import com.PVZ.utils.GameUtils;

public class GameWindow extends JFrame{
int width=1050;
int height=750;
int screenh;
int screenw;
public void setWindowLocation() {
//获取屏幕大小
Toolkit kit = Toolkit.getDefaultToolkit();
//获取屏幕大小(int类型)
Dimension screenSize = kit.getScreenSize();

    //通过屏幕大小获取宽度和长度
     screenw = screenSize.width;
     screenh = screenSize.height;

}
  public void lunch() {
    //窗口可见
      this.setVisible(true);
      //窗口位置
      this.setLocation((screenw-width)/2, (screenh-height)/2);
      //窗口大小
      this.setSize(1050,750);
      //窗口标题
      this.setTitle("植物大战僵尸");
    
  }
  

@Override
public void paint(Graphics g) {
super.paint(g);
g.drawImage(GameUtils.bgImage,0,0,null);
g.drawImage(GameUtils.yhImage,250,30,null);
g.setColor(Color.black);
g.setFont(new Font("仿宋",Font.BOLD,25));
g.drawString("50", 275,110);
}
}

这两个值是什么

img

你的两个g.drawImage并没有限制绘图区域,那么原图多大它就画多大,你原图如果是全屏的一个白色,它肯定给你整个画白了呀