无法在工具栏中的按钮上看到图像

时间:2011-12-31 07:39:47

标签: java swing toolbar imagebutton

我几天来一直在研究swing开发gui应用程序。

以下代码旨在使用退出按钮(包括图像“exit.png”)创建工具栏。问题是我无法看到图片,但工具栏会显示出来。 工具栏使用java中的 borderlayout 管理器定位NORTH

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

代码写在类构造函数中,其中类扩展了JFrame swing类。

请注意我已导入所需的课程。也没有编译错误。图像保存在创建.class的目录中。显示gui的其他元素没有错误。

请帮我确定问题所在。提前谢谢。

1 个答案:

答案 0 :(得分:5)

首先创建你的ImageIcon。

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

在Oracle网站上找到的createImageIcon()方法的代码:

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