Java - createImageIcon()在代码中无法识别?

时间:2013-04-05 18:20:26

标签: java swing imageicon

我一直收到一条错误,即createImageIcon()未被识别为可用函数。不知道为什么会这样,因为我觉得我已经加载了我需要的库。

ImageIcon icon = createImageIcon("images/middle.gif","this is a caption");

我尝试过使用不同的论点等,但似乎无法弄明白。

import javax.swing.*;
import javax.swing.ImageIcon;
import java.awt.*;
import java.awt.image.BufferStrategy;

public class main extends JFrame {

    public main() {

    }

    public static void main(String[] args) {
        JMenuBar menuBar = new JMenuBar();
        JMenu Menu_File = new JMenu("TEST MENU");
        JMenu Menu_File_New = new JMenu("New");
        ImageIcon icon = createImageIcon("images/middle.gif","this is a caption");
        Menu_File.add(Menu_File_New);
        JMenuItem Menu_File_New_Project = new JMenuItem("Project...");
        JMenuItem Menu_File_New_Burrito = new JMenuItem("Burrito...");
        JMenuItem Menu_File_New_Cookie = new JMenuItem("Cookie...");
        JMenuItem Menu_File_New_Other = new JMenuItem("Other...");
        Menu_File_New.add(Menu_File_New_Project);
        Menu_File_New.add(Menu_File_New_Burrito);
        Menu_File_New.add(Menu_File_New_Cookie);
        Menu_File_New.add(Menu_File_New_Other);
        JMenuItem Menu_File_Open = new JMenuItem("Open...");
        JMenuItem Menu_File_Save = new JMenuItem("Save");
        JMenuItem Menu_File_SaveAs = new JMenuItem("Save As...");
        JMenuItem Menu_File_Reload= new JMenuItem("Reload");
        Menu_File.add(Menu_File_Open);
        Menu_File.add(Menu_File_Save);
        Menu_File.add(Menu_File_SaveAs);
        Menu_File.add(Menu_File_Reload);
        Menu_File.addSeparator();
        JMenuItem Menu_File_Screenshot = new JMenuItem("Take Screenshot");
        Menu_File.add(Menu_File_Screenshot);
        Menu_File.addSeparator();
        JMenuItem Menu_File_Exit = new JMenuItem("Exit");
        Menu_File.add(Menu_File_Exit);
        menuBar.add(Menu_File);
        JMenu Menu_Edit = new JMenu("Edit");
        JMenu Menu_Windows = new JMenu("Windows");
        JMenu Menu_Mode = new JMenu("Mode");
        JMenu Menu_Help = new JMenu("Help");
        menuBar.add(Menu_Edit);
        menuBar.add(Menu_Windows);
        menuBar.add(Menu_Mode);
        menuBar.add(Menu_Help);

        main frame = new main();
        frame.setJMenuBar(menuBar); // Create menu and associate with frame
        frame.setTitle("3DAirspace");
        frame.setUndecorated(true);
        //frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }
}

4 个答案:

答案 0 :(得分:6)

它应该是:

ImageIcon icon = new ImageIcon("images/middle.gif","this is a caption");

这样你就可以为新的ImageIcon对象调用构造函数了吗?

答案 1 :(得分:4)

您正在调用的方法不在您的班级中。

在Java教程How to use icons中,有一个同名的示例方法,您可以将其复制到您的类中。

/** Returns an ImageIcon, or null if the path was invalid. */
protected ImageIcon createImageIcon(String path,
                                       String description) {
    java.net.URL imgURL = getClass().getResource(path);
    if (imgURL != null) {
        return new ImageIcon(imgURL, description);
    } else {
        System.err.println("Couldn't find file: " + path);
        return null;
    }
}

答案 2 :(得分:1)

此代码适用于我:

JButton button1 = new JButton("Button 1",new ImageIcon("youricon.gif"));

答案 3 :(得分:-1)

这会有用吗?

ImageIcon icon = new createImageIcon("images/middle.gif","this is a caption");