как исправить ошибку «значок не может быть преобразован в тип» при использовании функции ImageIcon

#java #eclipse

#java #eclipse

Вопрос:

На самом деле я создаю программу с использованием кнопок, при попытке вставить изображение в кнопку выдается сообщение об ошибке «значок не может быть преобразован в тип»

 public class gui extends JFrame {

    private JButton reg;
    private JButton custom;

    public gui(){

        super("the title");
        setLayout(new FlowLayout());//this sets a default layout

        reg =new JButton("reg button");
        add(reg);

                 .....
        //the  error here says icon cannot be resolved to a type
                //icon is highlighted for the error
            Icon b = new ImageIcon(getClass().getResource("b.png"));
        Icon x = new ImageIcon(getClass().getResource("x.jpeg"));

                 ....

        custom =new JButton("custom",b);
        custom.setRolloverIcon(x);
        add(custom);

        HandlerClass handler = new HandlerClass();
        reg.addActionListener(handler);
        custom.addActionListener(handler);  
    }

    private class HandlerClass implements ActionListener{

        public void actionPerformed(ActionEvent eve){
            JOptionPane.showMessageDialog(null,"this works");
            JOptionPane.showMessageDialog(null,String.format("%S",eve.getActionCommand()));



        }
    }

}
  

Комментарии:

1. Вы не показали свой импорт. Вы импортируете Icon ? Если нет, то почему бы и нет? Вы используете его как тип b и x .

2. Вы импортировали пакет javax.swing. Значок?

3. спасибо .. но даже после того, как я импортирую значок , я получаю сообщение об ошибке ImageIcon. <инициализация> (неизвестный источник) . это видно после компиляции