黑马程序员技术交流社区

标题: Java JMenu JMenuItem 添加图片问题 [打印本页]

作者: ██    时间: 2014-6-10 17:54
标题: Java JMenu JMenuItem 添加图片问题
本帖最后由 ██ 于 2014-6-10 17:56 编辑

t1 = new ImageIcon("image/bishu.jpg");cdx1 = new JMenuItem("个人信息", t1);

JMenuItem 这样加图片是可以的,就是前面正方形那个小图片,文字前面那个,如上图:

可JMenu这样加图片不行,为什么!!?
不这样加图片应该怎样加!!!?

我想在游戏前面加张图片,和借阅图书、归还图书前面


QQ图片20140610174825.jpg (75.42 KB, 下载次数: 17)

QQ图片20140610174825.jpg

QQ图片20140610174742.jpg (20.93 KB, 下载次数: 16)

QQ图片20140610174742.jpg

作者: axuan    时间: 2014-6-10 18:14
可以啊!
简单测试:

package test;

import java.awt.FlowLayout;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class test1 extends JFrame
{
    public test1()
        {
            this.setLayout(new FlowLayout());
            this.setBounds(200, 100, 400, 300);
             ImageIcon icon=new ImageIcon("p1.jpg");
             Image image=icon.getImage();
             
             ImageIcon icon2=new ImageIcon("d.jpg");
             Image image2=icon2.getImage();
             
             ImageIcon icon3=new ImageIcon("ex.png");
             Image image3=icon3.getImage();
             
                JMenuBar jb=new JMenuBar();
               
                 JMenu menu=new JMenu("system");
             menu.setIcon(icon);
             menu.setText("menu1");
             
             JMenu menu2=new JMenu("system");
             menu2.setIcon(icon2);
             menu2.setText("menu2");
             
             JMenuItem item=new JMenuItem("exit");
             item.setIcon(icon3);
             menu.add(item);
             
             jb.add(menu);
             jb.add(menu2);
             this.add(jb);
             this.setVisible(true);
        }
    public static void main(String[] args)
        {
                new test1();
        }
}

无标题.png (138.47 KB, 下载次数: 30)

无标题.png

作者: axuan    时间: 2014-6-10 18:24
可能没太理解你的意思
你是在菜单条中(本属于菜单,还有子菜单)添加图片?

无标题.png (35.7 KB, 下载次数: 22)

无标题.png

作者: ██    时间: 2014-6-10 18:38
axuan 发表于 2014-6-10 18:24
可能没太理解你的意思
你是在菜单条中(本属于菜单,还有子菜单)添加图片?
...

我的意思就是在设置详细情况前面的那张电脑图片,你是怎样加上去的!
作者: ██    时间: 2014-6-10 18:39
██ 发表于 2014-6-10 18:38
我的意思就是在设置详细情况前面的那张电脑图片,你是怎样加上去的!

对,在JMnue 上添加图片!
作者: ██    时间: 2014-6-10 18:40
██ 发表于 2014-6-10 18:39
对,在JMnue 上添加图片!

额,我知道了,谢谢你!!!
menu2.setIcon(icon2);你是这样加的!
非常感谢啊,妹子!
作者: axuan    时间: 2014-6-10 19:08
██ 发表于 2014-6-10 18:38
我的意思就是在设置详细情况前面的那张电脑图片,你是怎样加上去的!

package test;

import java.awt.FlowLayout;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class test1 extends JFrame
{
    public test1()
        {
            this.setLayout(new FlowLayout());
            this.setBounds(200, 100, 400, 300);
             ImageIcon icon=new ImageIcon("p1.jpg");
             Image image=icon.getImage();
             
             ImageIcon icon2=new ImageIcon("d.jpg");
             Image image2=icon2.getImage();
             
             ImageIcon icon3=new ImageIcon("ex.png");
             Image image3=icon3.getImage();
             
               
             JMenuBar jb=new JMenuBar();
               
                 JMenu menu=new JMenu("设置");
             menu.setIcon(icon);

             
             JMenu menu2=new JMenu("设置详细情况");
             menu2.setIcon(icon2);

             
             JMenuItem item=new JMenuItem("exit");
             item.setIcon(icon3);
             menu2.add(item);
             menu.add(menu2);
             
             
             jb.add(menu);
             this.add(jb);
             this.setVisible(true);
        }
    public static void main(String[] args)
        {
                new test1();
        }
}

作者: ██    时间: 2014-6-10 20:31
axuan 发表于 2014-6-10 19:08
package test;

import java.awt.FlowLayout;

明白了,非常感谢!!!
作者: 雾里看花。    时间: 2014-6-10 20:51
学习了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2