微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

添加paintComponents()后背景不出现

如何解决添加paintComponents()后背景不出现

我在此代码paintComponent(g)添加screenDraw()。 但从那以后,按钮就很好了, 但只有背景不出来。问题是什么? 没有任何东西,尤其是在使用 paintComponents() 之前,壁纸效果很好。

package main;

public class DynamicBeat extends JFrame {

    private Image background = new ImageIcon(Objects.requireNonNull(Main.class.getResource("../images/wallpaper.jpg"))).getimage();

    private final JButton exitButton = new JButton(exitButtonBasic);
    private final JButton startButton = new JButton(startButtonBasic);
    private final JButton quitButton = new JButton(quitButtonBasic);

    JLabel menuBar = new JLabel(new ImageIcon(Objects.requireNonNull(Main.class.getResource("../images/menubar.png"))));

    private int mouseX,mouseY;

    public DynamicBeat() {
        setUndecorated(true);
        setTitle("Dynamic Beat");
        setSize(Main.SCREEN_WIDTH,Main.SCREEN_HEIGHT);
        setResizable(false);
        setLocationRelativeto(null);
        setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        setBackground(new Color(0,0));
        setLayout(null);

        // some JButton components...

        Music introMusic = new Music("bgm.mp3",true);
        introMusic.start();

    }

    public void paint(Graphics g) {
        Image screenImage = createImage(Main.SCREEN_WIDTH,Main.SCREEN_HEIGHT);
        Graphics screenGraphic = screenImage.getGraphics();
        screenDraw(screenGraphic);
        g.drawImage(screenImage,null);
    }

    public void screenDraw(Graphics g) {
        g.drawImage(background,getWidth(),getHeight(),this);
        super.paintComponents(g);
        this.repaint();
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。