7

わかりましたので、静的な ImageIcon を取得しましたが、Image は表示されません。同じプログラムで他の 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
//************************************************************************
4

1 に答える 1

4

静的コンテキストでは、次のように記述できます。

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

または、代わりに試してくださいImageIO.read(new File("icon.png"))

于 2012-05-24T16:02:15.217 に答える