java - 对于静态 ImageIcon,是否有 getClass().getResource() 的替代方法

标签 java static imageicon

好的,所以我得到了一个静态 ImageIcon,但图像没有显示出来。在同一个程序中,我使用了其他 ImagesIcon,但它们不是静态的,所以当我声明它们时,我是这样做的:

public ImageIcon blabla = new ImageIcon(getClass().getResource(blabla.png)); 

但是,如果我声明一个 ImageIcon Static,我就无法使用该行,因为无法从静态值访问 getClass()。现在这些图像没有使用这个显示:

public static ImageIcon blabla = new ImageIcon(blabla.png); 

感谢您的帮助!

public static ImageIcon networkOfflineIcon = new ImageIcon("Images/networkOfflineIcon.png");
public static ImageIcon networkIcon = new ImageIcon("Images/networkIcon.png");
protected static JMenuItem jmiRemote = new JMenuItem("  Remote", networkOfflineIcon);
//************************************************************************
public static void changeNetWorkStatus(boolean network_status)          
//************************************************************************
{
    if(network_status){
        Application.jmiRemote.setIcon(networkIcon);
        Application.jmiRemote.setText("NetWork Online/Remote is On");
        Application.lockScreenRemote();

    }else if(!network_status){
        Application.jmiRemote.setIcon(networkOfflineIcon);
        Application.jmiRemote.setText("NetWork Offline/Remote is Off");
        Application.unlockScreenRemote();
    }
}//DOESNT CHANGE THE IMAGE
//************************************************************************

最佳答案

在静态上下文中,你可以这样写:

public ImageIcon imageIcon = new ImageIcon(MyClass.class.getResource("icon.png"));

或者,也可以尝试 ImageIO.read(new File("icon.png"))

关于java - 对于静态 ImageIcon,是否有 getClass().getResource() 的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10741084/

相关文章:

java - Selenium TestNG java - 参数太多

Java执行命令行程序 'find'返回错误

java - 将全局配置变量封装为静态?

java - Java “this”-在Eclipse内容帮助中标记为静态的关键字

java - 如何改变图像的亮度

java - 加载分析器时 Lucene ClassNotFoundError

Java运行时类反射

Node.js HTTP 服务器 - 如何将静态文件服务器(如 Trailer)与 URL 路由器(如离合器)结合起来?

java - IconImage 未显示在 jButton 上

java - 为什么我的 JFrame 图像没有更改图标?