क्या Static ImageIcon के लिए getClass ()। GetResource () का कोई विकल्प है

ठीक है तो मुझे एक स्थिर छवि आइकन मिला और छवि बस दिखाई नहीं दे रही है। उसी कार्यक्रम में मैं अन्य छवियों का उपयोग करता हूं लेकिन वे स्थिर नहीं हैं इसलिए जब मैं उन्हें घोषित करता हूं तो मैं इसे ऐसा करता हूं:

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

लेकिन अगर मैं एक छवि आइकन स्टेटिक घोषित करता हूं तो मैं उस लाइन का उपयोग नहीं कर सकता क्योंकि किसी को स्थिर मान से getClass() में acces नहीं मिल सकते हैं। अभी वे छवियां इसका उपयोग नहीं कर रही हैं:

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
जोड़ा संपादित
विचारों: 1
if (t == true) और if (t == false) जैसी सामग्री से बचने का प्रयास करें, if (t) और अगर (! टी) इसके बजाए।
जोड़ा लेखक rlegendi, स्रोत

1 उत्तर

एक स्थिर संदर्भ में, आप लिख सकते हैं:

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

Or, alternatively try ImageIO.read(new File("icon.png"))

0
जोड़ा
ठीक काम करता है अब फास्ट फिक्स के लिए धन्यवाद, मैं भी बचूंगा (टी == सच)
जोड़ा लेखक Alex, स्रोत
ImageIO.read सबसे अच्छा सुझाव नहीं है क्योंकि तब आपको अपवादों को संभालने की आवश्यकता होती है। मैं पहले सुझाव के साथ रहूंगा और MyClass.class का उपयोग करूंगा।
जोड़ा लेखक Tot Zam, स्रोत
निश्चित बात, खुशी है कि मदद की।
जोड़ा लेखक rlegendi, स्रोत