我正在尝试显示imageIcon 我想要在orderList JList中选择一个项目后显示图像 图像
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);
答案 0 :(得分:1)
此:
AbstractButton imageLabel = null;
imageLabel.setIcon(icon);
是否会引发NullPointerException。正确初始化变量imageLabel。例如:
AbstractButton imageLabel = new JButton(icon);
答案 1 :(得分:1)
AbstractButton imageLabel = null;
imageLabel.setIcon(icon);
这是无效的,您不能将imageLabel设置为null,然后为其设置图标。如果图像标签是“项目图像”下面的方框,那么它应该在类级别初始化,您需要使用setIcon更改图标,然后使用revalidate()方法重新验证然后按钮。