Невозможно увидеть изображение на кнопке на панели инструментов - PullRequest
1 голос
/ 31 декабря 2011

Я изучаю swing для разработки приложений графического интерфейса уже несколько дней.

Следующий код предназначен для создания панели инструментов с кнопкой выхода (включая image"exit.png").Проблема в том, что я не вижу изображение , хотя на панели инструментов отображается.Панель инструментов позиционируется NORTH с помощью менеджера borderlayout в Java.

    JMenuBar menubar = new JMenuBar();
    JMenu file = new JMenu("File");

    menubar.add(file);
    setJMenuBar(menubar);

    JToolBar toolbar = new JToolBar();
    toolbar.setFloatable(false);

    ImageIcon exit = new ImageIcon("exit.png");
    JButton bexit = new JButton(exit);
    bexit.setBorder(new EmptyBorder(0, 0, 0, 0));
    toolbar.add(bexit);
    //Default layout manager for JFrame is BorderLayout Manager
    add(toolbar, BorderLayout.NORTH);

Код написан внутри конструктора класса, где класс расширяет * 1022.* класс свинга.

обратите внимание, что я импортировал необходимые классы.Там также нет ошибки компиляции.изображение сохраняется в каталоге, где создан .class.Другие элементы графического интерфейса отображаются без ошибок.

Пожалуйста, помогите мне определить проблему.Заранее спасибо.

1 Ответ

5 голосов
/ 31 декабря 2011

Сначала создайте свой ImageIcon.

ImageIcon myIcon = createImageIcon("exit.png", "");

И код метода createImageIcon (), который можно найти на веб-сайте Oracle:

private ImageIcon createImageIcon(String path, String description) {
        URL imgURL = getClass().getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL, description);
       } else {
          System.err.println("Couldn't find file: " + path);
          return null;
       }
    }

А затем установите значок кнопкис:

bexit.setIcon(myIcon);
...