首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示ImageIcon

显示ImageIcon
EN

Stack Overflow用户
提问于 2016-03-30 12:08:05
回答 2查看 67关注 0票数 1

我正在尝试显示一个imageIcon,我希望一旦您从orderList JList中选择了一个项目,图像就会显示出来。

代码语言:javascript
复制
    DefaultListModel<MenuItem> orderList = new DefaultListModel<MenuItem>();
    JList<MenuItem> listOrder = new JList<MenuItem> (orderList);                
    listOrder.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent arg0) {
            MenuItem selectedItem = listOrder.getSelectedValue();
            ImageIcon icon = selectedItem.getItemImage(); 
            AbstractButton imageLabel = null;
            imageLabel.setIcon(icon);

        }
    });
    listOrder.setFont(new Font("Arial", Font.PLAIN, 14));
    listOrder.setBackground(Color.GRAY);
    listOrder.setBounds(506, 67, 317, 375);
    contentPane.add(listOrder);

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-30 12:19:00

代码语言:javascript
复制
AbstractButton imageLabel = null;
imageLabel.setIcon(icon);

这是无效的,您不能将imageLabel设置为null,然后为其设置图标。如果图像标签是"Item Image“下面的方框,那么应该在类级别初始化它,您只需要使用setIcon更改图标,然后使用revalidate()方法重新验证按钮。

票数 1
EN

Stack Overflow用户

发布于 2016-03-30 12:15:42

这是:

代码语言:javascript
复制
AbstractButton imageLabel = null;
imageLabel.setIcon(icon);

将引发一场NullPointerException。正确初始化变量imageLabel。例如:

代码语言:javascript
复制
AbstractButton imageLabel = new JButton(icon);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36308425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档