2

我不断收到一个错误,即 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

4 回答 4

8

它实际上应该是:

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

以便您为新的 ImageIcon 对象调用构造函数?

于 2013-04-05T18:22:56.470 回答
5

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

在 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;
    }
}
于 2013-04-05T18:22:48.363 回答
1

这段代码对我有用:

JButton button1 = new JButton("Button 1",new ImageIcon("youricon.gif"));
于 2015-03-07T07:18:16.040 回答
-2

这行得通吗?

ImageIcon icon = new createImageIcon("images/middle.gif","this is a caption");
于 2013-04-05T18:23:01.263 回答