2016-03-30 15 views
1

Sana orderList JList görüntüyüEkran ImageIcon

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

MenuGUI

+0

Düğmenin görünür bir kaba eklendiğinden ve açıkça boş olmadığından emin olmalısınız (böylece başlatılamalısınız). – Berger

cevap

1

Bu bir öğe seçtikten sonra resim görüntülenmesini istediğiniz bir ImageIcon görüntülemek çalışıyorum:

AbstractButton imageLabel = null; 
imageLabel.setIcon(icon); 

NullPointerException yükseltecek. ImageLabel değişkenini doğru şekilde başlat. Örneğin:

AbstractButton imageLabel = new JButton(icon); 
1
AbstractButton imageLabel = null; 
imageLabel.setIcon(icon); 

Bu geçerli değil, Bunun için simgesini ayarı ardından imageLabel olarak boş ayarlayabilir ve olamaz. Resim etiketi "Öğe Resim" nin altındaki Kare kutusu ise, o zaman sınıf düzeyinde başlatılmalıdır ve sadece setIcon kullanarak simgeyi değiştirmeli ve revalidate() yöntemini kullanarak yeniden doğrula düğmesine basmanız gerekir.

+0

Teşekkürler, çalışıyor (* _ *) – LBC