2012-05-24 8 views
5

私は静的ImageIconを取得していますので、Imageは表示されません。静的ImageIconのgetClass()。getResource()の代替手段がありますか

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

しかし、私はImageIconの静的に宣言する場合は、1つははgetClassへのアクセスもを得ることができないので、私はそのラインを使用することはできません。同じプログラムではので、私はそれらを宣言するとき、私はこのようにそれを行う私は他のImagesIconを使用するが、彼らは静的ではありません()を静的な値から削除します。今すぐこれらの画像が表示されない:

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 
//************************************************************************ 
+0

を試し'と '(トン場合== false) '、代わりに' if(t) 'と' if(!t) 'を使います。 – rlegendi

答えて

4

、あなたが書くことができます。

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

をか、あるいは(T真==)場合には `のようなものを避けるようにしてくださいImageIO.read(new File("icon.png"))

+0

作業がうまくいきました。私は速い修正に感謝します。私はまた避けます(t == true) – Alex

+0

確かに、喜んで助けました。 – rlegendi

+0

'ImageIO.read'は、スローされる例外を処理する必要があるので、最善の提案ではありません。私は最初の提案に固執し、 'MyClass.class'を使用します。 –