我用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);
}
答案 0 :(得分:4)
您正在拨打JFrame#add
两次,从而取代JLabel
BorderLayout.CENTER
位置的JFrame
组件
funds.add(add(viewMenu));
^^^
替换为
funds.add(viewMenu);