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

问题描述:

我不断收到一个错误,createImageIcon()不被识别为可用函数。不知道为什么会出现这种情况,因为我觉得我已经加载了我需要的库。Java - 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); 
    } 
} 

如果它实际上是:

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

让你调用构造一个新的ImageIcon对象?

+0

这工作,谢谢! :) – IDontWorkAtNASA 2013-04-05 18:41:10

您打电话的方法不在您的班级中。

在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; 
    } 
} 

这项工作?

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

“createImageIcon无法解析为类型” – IDontWorkAtNASA 2013-04-05 18:32:29

此代码的工作:

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