0

我用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);
}
4

1 回答 1

4

您调用JFrame#add了两次,从而将JLabel组件替换BorderLayout.CENTERJFrame

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

用。。。来代替

funds.add(viewMenu);
于 2013-08-29T12:21:08.693 回答