如何设置背景图片?

时间:2013-08-29 12:01:39

标签: java swing jlabel imageicon

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

1 个答案:

答案 0 :(得分:4)

您正在拨打JFrame#add两次,从而取代JLabel

BorderLayout.CENTER位置的JFrame组件
funds.add(add(viewMenu));
          ^^^

替换为

funds.add(viewMenu);