не выводит изображение в список

92
31 марта 2022, 22:50

Смысл программы, выводить список с животными и их фотографиями. Однако он выводит только название. Помогите пж.

import javax.swing.*;
import java.awt.event.*;
class MyFrame extends JFrame implements ItemListener
{
   private JComboBox CB;
   private JButton B;
   private JLabel L;
   private String[] animals= new String[] {"Лиса"," Волк"," Медведь ", " Енот "};
   private String [] files= new String[] {"lisa.jpg ", "wolf.jpg ", "bear.jpg ", "enot .jpg "};
   private String path="/Users/Username/Downloads/JAVA/";
   private ImageIcon[] imgs;
   public void itemStateChanged(ItemEvent e)
   {
       L.setIcon(imgs[CB.getSelectedIndex()]);
   }
   MyFrame()
   {
       super("Раскрывающейся список ");
       setBounds(500,500,300,150);
       setDefaultCloseOperation(EXIT_ON_CLOSE);
       setResizable(true);
       setLayout(null);
       imgs= new ImageIcon[ files.length];
       for(int k=0;k<imgs.length;k++)
       {
           imgs[k]=new ImageIcon(path+files[k]);
       }
       L=new JLabel(imgs[0]);
       L.setBounds(10,10,150,100);
       add(L);
       JLabel lbl=new JLabel("Сделайте выбор ");
       lbl.setBounds(170,10,120,20);
       add(lbl);
       CB= new JComboBox(animals);
       CB.setBounds(170,40,120,30);
       CB.setSelectedIndex(0);
       CB.addItemListener(this);
       add(CB);
       B= new JButton("OK");
       B.setBounds(170,80,120,30);
       B.addActionListener(e->System.exit(0));
       add(B);
       setVisible(true);
   }
}
class DON
{
    public static void main(String[] args)
    {
        new MyFrame();
    }
}
Answer 1

Создайте свой Renderer реализующий интерфейс ListCellRenderer, инструкцию можно посмотреть здесь https://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html

READ ALSO
Как собрать стэк-трейсы конкретных тредов с sample interval &#177; 100ms

Как собрать стэк-трейсы конкретных тредов с sample interval ± 100ms

Есть OpenJDK8Есть пул потоков ExecutorService к примеру размером 40

96
Как вывести результат через пробел

Как вывести результат через пробел

Задача: перевернуть строку

99
try catch на каждую строчку или общий

try catch на каждую строчку или общий

Предположим у нас есть код:

63