Java 在swing的JMenu中添加图标和文本
我在荡秋千。我必须创建一个包含10个菜单的主屏幕。 我用JFrame创建了表单,用JMenu创建了菜单。现在,菜单应该同时包含文本和图像,并且在单击菜单时应该调用ActionPerformed方法,以便在单击菜单按钮时可以执行操作 现在我正在制作带有JMenuItem和图像图标上的图标的Jmenu,但是我想要带有图标和文本的菜单 我现在的代码是Java 在swing的JMenu中添加图标和文本,java,swing,menu,jframe,awt,Java,Swing,Menu,Jframe,Awt,我在荡秋千。我必须创建一个包含10个菜单的主屏幕。 我用JFrame创建了表单,用JMenu创建了菜单。现在,菜单应该同时包含文本和图像,并且在单击菜单时应该调用ActionPerformed方法,以便在单击菜单按钮时可以执行操作 现在我正在制作带有JMenuItem和图像图标上的图标的Jmenu,但是我想要带有图标和文本的菜单 我现在的代码是 public class MenuScreen extends JFrame implements ActionListener{
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);
}
}
请帮助我。使用构造函数
JMenuItem(字符串文本、图标)
如果希望JMenu带有图标和文本,请执行
helpmenu= new JMenu(" Help ");
helpmenu.setIcon(..);
在菜单上放置的
操作中设置图标和文本(使用键值对机制)。键在操作
界面中定义
还包含可用键及其影响的概览表。-对于JMenuItem
使用JMenuItem((字符串文本,图标图标)
构造函数
-对于jmen
请尝试使用构造函数,该构造函数将字符串作为参数jmen(字符串s)
,以及方法setIcon()
要设置菜单项上的特殊按键选项,请使用setAccelerator()
例如:
myItem.setAccelerator(
KeyStroke.getKeyStroke(KeyEvent.VK_P,ActionEvent.CTRL_MASK));
请对代码块使用一致的逻辑缩进。如果代码可读,则有问题的代码更有用。通过缩进代码的方式,我可以更轻松地阅读我的狗早餐。一些提示1)如果问题是“如何向菜单项添加图标和文本?”请添加包含一个菜单和一个菜单项的代码,而不是包含10个菜单和100多行代码的代码。2) logo.setBounds(100,80500350)代码>不要这样做,以后会导致问题。而是使用布局(带填充和边框)。谢谢,它在文本前显示图标,但我希望图标下的文本表示上面的图标,图标和单击事件下的文本应与一起执行Jmenu@ADESHRAJPUT请阅读swing tag wiki中引用的教程中关于如何使用JMenu/项的章节-对于帮助者来说,仅仅是api问题是很无聊的,不会给你带来太多帮助很在一天结束时,您必须学习您正在使用的api,这最终只能通过阅读它来完成:-)