ajouter une icône et du texte dans JMenu en swing

Je suis en train de travailler sur des balançoires. J'ai créer un écran principal composé de 10 menus.
J'ai créé le formulaire par JFrame et menu par JMenu. Maintenant que le menu doit contenir du texte et des images à la fois et l'action effectuée méthode doit être appelée en cliquant sur le menu de sorte que l'action peut être effectuée sur le en cliquant sur le bouton menu.

Droit maintenant, je suis en train de faire Jmenu avec JMenuItem et l'icône sur l'icône de l'image, mais je veux que le menu avec l'icône et le texte

mon code actuel est

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

s'il vous plaît aider moi.

Veuillez utiliser de manière cohérente et logique de retrait pour les blocs de code. Le Code en question est beaucoup plus utile si elle est lisible. Avec la façon dont le code est indenté, j'ai pu lire mon chien, un petit-déjeuner plus facilement.
Quelques conseils 1) Si la question est "comment faire pour ajouter l'icône et le texte de l'élément de menu?" ajouter un code qui contient un menu avec un élément de menu plutôt que de 10 menus et plus de 100 lignes de code. 2) logo.setBounds(100,80,500,350); ne le faites pas, cela va causer des problèmes plus tard. Au lieu d'utiliser des mises en page (avec un rembourrage & frontières).

OriginalL'auteur ADESH RAJPUT | 2012-09-21