我正在做鞦韆。我必須創建一個由10個菜單組成的主屏幕。 我已經創建了由JFrame和JMenu菜單的形式。現在該菜單應該包含文本和圖像,並且應該在菜單點擊時調用執行的操作方法,以便可以在點擊菜單按鈕時執行操作。在JMenu中添加圖標和文字
現在我正在做JMenu,用的JMenuItem和圖標圖像圖標,但我想要的菜單,圖標和文本
我當前的代碼是
public class MenuScreen extends JFrame implements ActionListener{
Container cp;
JMenuBar menuBar;
JLabel logo;
public MenuScreen() {
super("");
cp=this.getContentPane();
cp.setBackground(Color.gray);
menuBar= new JMenuBar();
logo=new JLabel(im);
cp.add(logo);
logo.setBounds(100,80,500,350);
helpmenu= new JMenu(" Help ");
homemenu=new JMenu(" Home ");
fieldsmenu= new JMenu(" Fields ");
backmenu= new JMenu(" Back ");
forwardmenu= new JMenu(" Forward ");
panelmenu= new JMenu(" Panel ");
searchmenu= new JMenu(" Search ");
quickmenu= new JMenu(" Quick ");
infomenu= new JMenu(" Info ");
exitmenu= new JMenu(" Exit ");
mastermenu= new JMenu(" Master ");
tarrifmenu= new JMenu(" Tarrif ");
contactmenu= new JMenu(" Contact ");
webmenu= new JMenu(" Web ");
wordmenu= new JMenu(" Word ");
legaldictionarymenu= new JMenu(" LegalDictionary ");
budgetmenu=new JMenu(" Budget 2012 2013 ");
memberdetailmenu= new JMenu(" Member Details ");
Font f1= new Font("Arial",Font.BOLD,16);
budgetmenu.setFont(f1);
legaldictionarymenu.setFont(f1);
helpmenu.setFont(f1);
JMenuItem backmenuitem= new JMenuItem(backicon);
backmenu.add(backmenuitem);
JMenuItem exitmenuitem= new JMenuItem(exiticon);
exitmenu.add(exitmenuitem);
menuBar.add(helpmenu);
menuBar.add(homemenu);
menuBar.add(fieldsmenu);
menuBar.add(backmenu);
menuBar.add(forwardmenu);
menuBar.add(panelmenu);
menuBar.add(searchmenu);
menuBar.add(quickmenu);
menuBar.add(infomenu);
menuBar.add(exitmenu);
menuBar.add(mastermenu);
menuBar.add(tarrifmenu);
menuBar.add(contactmenu);
menuBar.add(webmenu);
menuBar.add(wordmenu);
menuBar.add(legaldictionarymenu);
menuBar.add(budgetmenu);
menuBar.add(memberdetailmenu);
setJMenuBar(menuBar);
/*
Adding Listeners to the menus where required
*/
searchmenu.addActionListener(this);
}
public void actionPerformed(ActionEvent ae)
{
JOptionPane.showMessageDialog(null,"clicked");
if(ae.getActionCommand().equals("Search"))
{
SearchForm frm=new SearchForm();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
frm.setBounds(0,0,screenSize.width, screenSize.height);
frm.setVisible(true);
}
}
public static void main(String args[])
{
MenuScreen frm= new MenuScreen();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
frm.setBounds(0,0,screenSize.width, screenSize.height);
frm.setVisible(true);
}
}
請幫助我。
請使用代碼塊一致性和邏輯縮進。如果問題可讀,則問題中的代碼更有用。隨着代碼縮進的方式,我可以更輕鬆地閱讀我的狗的早餐。 –
一些提示1)如果問題是'如何添加圖標和文本到菜單項?'添加包含一個菜單的代碼,而不是一個菜單項而不是10個菜單和超過100行代碼。 2)'logo.setBounds(100,80,500,350);'不要那樣做,它會在稍後導致問題。而是使用佈局(使用填充和邊框)。 –