जावा सिस्टम आइकननिकालना
जावायहां हम एक नमूना प्रोग्राम प्रस्तुत करते हैं जो एक निर्दिष्ट फ़ाइल के आइकन को पीएनजी प्रारूप छवि फ़ाइल में निकालता है। निर्दिष्ट फ़ाइल .exe एक्सटेंशन, dll, xls, doc, आदि के साथ कोई भी निष्पादन योग्य फ़ाइल हो सकती है।
मैंने इंटरनेट पर इसी तरह के तरीकों की तलाश की, लेकिन कुछ भी नहीं मिला।
हालाँकि, मैंने एक ऐसी विधि खोज ली है जिसे प्राप्त करना वास्तव में आसान है, इसलिए मैं इसे आपसे परिचित कराऊंगा।
इसके अलावा, चैट और मैसेंजर में, यह विधि हैस्टिकी नोट्स में फ़ाइलें संलग्न करने की क्षमताइसका प्रयोग किया जाता है
नमूना कार्यक्रम संचालन पुष्टिकरण
नमूना चलाएँ
*यदि जार फ़ाइल संबद्ध है, तो इसे निष्पादित किया जा सकता है।
- नमूना स्रोत प्राप्त करें, संकलित करें और चलाएं।
- जब आप इसे शुरू करेंगे, तो मुख्य विंडो खुल जाएगी, इसलिए जिस आइकन को आप निकालना चाहते हैं उसे विंडो पर खींचें और छोड़ें।
- एक पीएनजी प्रारूप छवि फ़ाइल मूल आइकन के समान स्थान पर आउटपुट होगी।
नमूना कार्यक्रम स्पष्टीकरण
जावा में आइकन निकालने की प्रक्रिया निम्नलिखित विधि का उपयोग करके हासिल की जाती है।
-
विंडोज़ के स्वरूप और अनुभव को सेट करें।
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - ड्रैग और ड्रॉप द्वारा प्राप्त फ़ाइलें javax.swing.JFileChooser.getIcon() विधि के साथ javax.swing.आइकन ऑब्जेक्ट में कनवर्ट करें.
- javax.imageio.ImageIO.write() विधि का उपयोग करके आइकन ऑब्जेक्ट को पीएनजी प्रारूप छवि फ़ाइल में आउटपुट करें।
नमूना कार्यक्रम
आयात javax.imageio.ImageIO;
आयात javax.swing.ImageIcon;
आयात javax.swing.JFileChooser;
आयात javax.swing.JFrame;
आयात javax.swing.JLabel;
आयात javax.swing.JPanel;
आयात javax.swing.SwingConstents;
आयात javax.swing.UIManager;
पब्लिक क्लास IconExtractor JFrame का विस्तार करता है
ड्रॉपटार्गेटलिस्टर लागू करता है {
निजी JPanel jContentPane = शून्य;
निजी JLabel jLabel = शून्य;
निजी JFileChooser चयनकर्ता;
सार्वजनिक स्थैतिक शून्य main (String [] args) {
IconExtractor एक्सट्रैक्टर = नया IconExtractor();
एक्सट्रैक्टर.सेटविज़िबल(सही);
}
सार्वजनिक IconExtractor() {
बहुत अच्छा();
कोशिश {
UIManager.setLookAndFeel(
UIManager.getSystemLookAndFeelClassName());
चयनकर्ता = नया JFileChooser();
} पकड़ें (अपवाद ई) {
ई.प्रिंटस्टैकट्रेस();
}
प्रारंभ करें();
}
निजी शून्य आरंभीकरण() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle('आइकन निष्कर्षण');
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
निजी JPanel getJContentPane() {
यदि (jContentPane == शून्य) {
jLabel = नया JLabel();
jLabel.setText ("आइकन खींचें");
jLabel.setBackground(रंग.सफ़ेद);
jLabel.setHrizontalAlignment(SwingConstents.CENTER);
jLabel.setOpaque(सही);
नया ड्रॉपटार्गेट(jLabel,
DnDConstants.ACTION_COPY_OR_MOVE, यह);
jContentPane = नया JPanel();
jContentPane.setLayout(नया बॉर्डरलेआउट());
jContentPane.add(jLabel, borderLayout.CENTER);
}
jContentPane लौटाएँ;
}
// - ड्रॉपटार्गेटलिस्टर लागू करता है --------
सार्वजनिक शून्य ड्रॉप(DropTargetDropEvent dtde) {
dtde.acceptDrop(DnDConstants.ACTION_MOVE);
कोशिश {
हस्तांतरणीय ट्रांस = dtde.getTransferable();
सूची फ़ाइल सूची = (सूची) ट्रांस
.getTransferData(DataFlavor.javaFileListFlavor);
Iterator iterator = fileList.iterator();
जबकि (iterator.hasNext()) {
फ़ाइल फ़ाइल = (फ़ाइल) iterator.next();
ImageIcon आइकन = (ImageIcon) चयनकर्ता.getIcon(फ़ाइल);
स्ट्रिंग एक्सटेंशन = फ़ाइल.getAbsoluteFile() + ".png";
// छवि फ़ाइल सहेजें
ImageIO.write((BufferedImage) आइकन.getImage(), "png",
नई फ़ाइल(ext));
jLabel.setText(“<html>निष्कर्षण पूरा हुआ<br>”+एक्सट);
setIconImage(icon.getImage());
}
dtde.dropComplete(सत्य);
} पकड़ें (अपवाद ई) {
ई.प्रिंटस्टैकट्रेस();
dtde.dropComplete(झूठा);
}
}
सार्वजनिक शून्य ड्रैगएंटर(DropTargetDragEvent e) {
}
सार्वजनिक शून्य ड्रैगओवर(DropTargetDragEvent e) {
}
सार्वजनिक शून्य ड्रॉपएक्शनचेंज्ड(ड्रॉपटार्गेटड्रैगइवेंट ई) {
}
सार्वजनिक शून्य ड्रैगएक्सिट(ड्रॉपटार्गेटइवेंट ई) {
}
}