2012-12-19 12 views
8

पर निर्यात करता हूं तो मैं अपना आइकन कैसे शामिल कर सकता हूं मैंने डेस्कटॉप एप्लिकेशन विकसित किया है। समस्या यह है कि जब मैं जार फ़ाइल में एप्लिकेशन निर्यात करता हूं तो आइकन ऐप में नहीं दिखाया जाता है। जब मैं इसे ग्रहण से चलाता हूं तो सभी आइकन वहां दिखाए जाते हैं।जब मैं अपनी परियोजना को जार फ़ाइल

अपने प्रोजेक्ट से एक उदाहरण: के बजाय ImageIcon निर्माता के लिए एक रिश्तेदार पथ में उत्तीर्ण होने की

package net.ebank.gui; 

import java.awt.*; 
import javax.swing.*; 


public class EBank extends JFrame { 

    protected Start s; 


    public EBank() { 

     setTitle("Welcome To EBank"); 

     setBackground(Color.white); 


     Image img = new ImageIcon("../EBank/res/bank.jpg").getImage(); 
     this.setIconImage(img); 

     /*"com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel" 
     "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"*/ 

     setVisible(false); 

     setSize(1350,700); 

     setDefaultCloseOperation(this.EXIT_ON_CLOSE); 

     try { 

      UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); 
     } catch (ClassNotFoundException e) { 

      // TODO Auto-generated catch block 

      e.printStackTrace(); 
     } catch (InstantiationException e) { 

      // TODO Auto-generated catch block 

      e.printStackTrace(); 
     } catch (IllegalAccessException e) { 
      // TODO Auto-generated catch block 

      e.printStackTrace(); 
     } catch (UnsupportedLookAndFeelException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 


     s= new Start(this); 

     s.setLocation(getWidth()/2, getHeight()/4); 


    } 

    public static void main(String[] args){ 
     new EBank(); 
    } 

} 

उत्तर

6

उपयोग Class#getResource()

यह भी सुनिश्चित करें कि छवि फ़ाइल वास्तव में जेनरेट किए गए जेएआर का हिस्सा है।

+0

तुम मुझे मेरे कोड –

4

आप या तो अपने JAR फ़ाइल के लेआउट, जो के रूप में वे ग्रहण कर रहे हैं बस तदनुसार फ़ोल्डरों की व्यवस्था करने, या बस करना होगा के रूप में मैट बॉल कहा और Class#getResource या Class#getResourceAsStream का उपयोग ठीक कर सकता है।

5

ताकि इसे काम करने के लिए निम्न चरणों का पालन करें:

  • राइट-क्लिक करें परियोजना एक्सप्लोरर ट्री में अपना प्रोजेक्ट।
  • नया -> स्रोत फ़ोल्डर पर जाएं और फिर स्रोत फ़ोल्डर में कोई नाम प्रदान करें।
  • अब मैन्युअल रूप से इस स्रोत फ़ोल्डर में अपनी सामग्री जोड़ें, इसलिए जैसे कि आप छवियां जोड़ना चाहते हैं, फिर फ़ाइल सिस्टम के माध्यम से इस स्रोत फ़ोल्डर पर जाकर मैन्युअल रूप से नया फ़ोल्डर बनाएं।
  • इस नए फ़ोल्डर को छवियों के रूप में नाम दें और अपनी छवियों को इस फ़ोल्डर में कॉपी करें।
  • अब अपने ग्रहण आईडीई पर वापस जाएं और अपनी परियोजना को राइट क्लिक करके प्रोजेक्ट एक्सप्लोरर से अपनी परियोजना को रीफ्रेश करें, यहां आप रीफ्रेशिंग के बाद अपनी अतिरिक्त सामग्री को देख सकेंगे।
  • अब किसी भी छवि का उपयोग करने के लिए, आप उपयोग करेंगे।

    getClass().getResource("/images/yourImageName.extension"); 
    

एक यूआरएल की वस्तु वापस आ जाएगी जो। इस मामले में, पहले फॉर स्लैश याद रखें, क्योंकि आपके स्रोत फ़ोल्डर के अंदर जो कुछ भी है, उसे सरल शर्तों में, इसकी सहायता से एक्सेस किया जाता है। अब जब आप अपनी प्रोजेक्ट चलाएंगे, तो इस स्रोत फ़ोल्डर की सामग्री स्वचालित रूप से बिन फ़ोल्डर में जोड़ दी जाएगी और जब आप रननेबल जार बनाएंगे, तो आपके स्रोत फ़ोल्डर के अंदर की सामग्री को एक्सेस किया जा सकता है।

इस लिंक पर, मैं समझाने की है कि छवियों के साथ की कोशिश की थी, how to add Images to your Eclipse Project

+0

का एक उदाहरण दिखा सकते हैं आप thack यह उपयोगी है –

+0

आप बहुत स्वागत कर रहे हैं और मुस्कुराती :-) रखें –

संबंधित मुद्दे