Java 如何设置背景图像?

Java 如何设置背景图像?,java,swing,jlabel,imageicon,Java,Swing,Jlabel,Imageicon,我用jmenubar创建了一个jframe并添加了一个背景图像。然后我添加了一个子菜单。但是背景图像消失了。我如何解决这个问题?请参阅下面的代码 public Welcome() { //JFrame frame=new JFrame(); setTitle("PAIN AND PALIATIVE CARE UNIT VAZHAYOOR"); setDefaultCloseOperation(EXIT_ON_CLOSE); setBackground(Co

我用jmenubar创建了一个jframe并添加了一个背景图像。然后我添加了一个子菜单。但是背景图像消失了。我如何解决这个问题?请参阅下面的代码

    public Welcome() {
    //JFrame frame=new JFrame();
    setTitle("PAIN AND PALIATIVE CARE UNIT VAZHAYOOR");
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setBackground(Color.WHITE);


    JLabel background=new JLabel(new ImageIcon("src/startApplication/Helping-Hands_1.png")); 
    background.setBackground(Color.white);
    add(background);


    mbar=new JMenuBar();
    menu = new JMenu("Medicine");
    menu.add(makeMenuItem("Add Stock"));
    menu.add(makeMenuItem("Add Medicine Details"));
    menu.add(makeMenuItem("Spent Medicine"));
    menu.add(makeMenuItem("Check Availability"));
    menu.add(makeMenuItem("View Stock Details"));

    viewMenu=new JMenu("Daily");

    viewMenu=new JMenu("Report");
    viewMenu.add(makeMenuItem("Daily"));
    viewMenu.add(makeMenuItem("Monthly"));
    viewMenu.add(makeMenuItem("Periodical"));

    funds = new JMenu("Funds");
    funds.add(makeMenuItem("Add"));
    funds.add(makeMenuItem("Edit"));
    funds.add(makeMenuItem("View"));
    funds.add(makeMenuItem("Mark Expense"));
    funds.add(add(viewMenu));



    mbar.add(menu);
    mbar.add(funds);
    setJMenuBar(mbar);
    setSize(getMaximumSize());
    setVisible(true);
}

您正在调用
JFrame#add
两次,从而替换
JFrame的
BorderLayout.CENTER
位置处的
JLabel
组件

funds.add(add(viewMenu));
          ^^^
取代

funds.add(viewMenu);

您正在调用
JFrame#add
两次,从而替换
JFrame的
BorderLayout.CENTER
位置处的
JLabel
组件

funds.add(add(viewMenu));
          ^^^
取代

funds.add(viewMenu);