जावा सिस्टम आइकननिकालना
जावायहां एक नमूना प्रोग्राम दिया गया है जो निर्दिष्ट फ़ाइल से आइकन को निकालकर उसे PNG इमेज फ़ाइल में बदलता है। निर्दिष्ट फ़ाइल किसी भी प्रकार की हो सकती है, जिसमें .exe एक्सटेंशन वाली निष्पादन योग्य फ़ाइलें, साथ ही .dll, .xls, .doc आदि शामिल हैं।
मैंने इंटरनेट पर इसी तरह के तरीकों की खोज की, लेकिन मुझे कोई नहीं मिला।
हालांकि, मुझे इसे प्राप्त करने का एक बहुत ही आसान तरीका मिल गया है, इसलिए मैं इसे आपके साथ साझा करूंगा।
ध्यान दें कि चैट और मैसेंजर इस विधि का उपयोग नहीं करते हैं।फाइलों को स्टिकी नोट्स से अटैच करने की सुविधा।मैं इसका उपयोग कर रहा हूं।
नमूना प्रोग्राम संचालन सत्यापन
नमूना चलाएँ
*यह तभी निष्पादित किया जा सकता है जब इसके साथ कोई जार फ़ाइल संबद्ध हो।
- सैंपल सोर्स कोड प्राप्त करें, उसे कंपाइल करें और चलाएं।
- एप्लिकेशन लॉन्च करने पर मुख्य विंडो खुल जाएगी। जिन आइकनों को आप निकालना चाहते हैं, उन्हें बस खींचकर इस विंडो में छोड़ दें।
- एक पीएनजी छवि फ़ाइल मूल आइकन के समान स्थान पर आउटपुट होगी।
नमूना कार्यक्रम की व्याख्या
जावा में आइकन निकालने की प्रक्रिया को निम्नलिखित विधि का उपयोग करके कार्यान्वित किया जाता है।
-
विंडोज़ के लिए लुक और फील सेट करें।
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - ड्रैग और ड्रॉप द्वारा प्राप्त फाइलें javax.swing.JFileChooser.getIcon() तरीका javax.swing.Icon इसे ऑब्जेक्ट में परिवर्तित करें।
- javax.imageio.ImageIO.write() यह विधि आइकन ऑब्जेक्ट को एक पीएनजी छवि फ़ाइल में आउटपुट करती है।
नमूना कार्यक्रम
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
पब्लिक क्लास IconExtractor एक्सटेंड्स JFrame
DropTargetListener को लागू करता है {
निजी जेपीैनल जेकंटेंटपेन = शून्य;
निजी JLabel jLabel = null;
निजी JFileChooser चयनकर्ता;
सार्वजनिक स्थैतिक शून्य main (String [] args) {
IconExtractor extractor = new IconExtractor();
एक्सट्रैक्टर.सेटविजिबल(ट्रू);
}
सार्वजनिक आइकन एक्सट्रैक्टर() {
बहुत अच्छा();
कोशिश {
यूआईमैनेजर.सेटलुकएंडफील(
UIManager.getSystemLookAndFeelClassName());
chooser = new JFileChooser();
} कैच (अपवाद ई) {
e.printStackTrace();
}
आरंभ करें();
}
निजी शून्य आरंभ करें() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("आइकन निष्कर्षण");
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
निजी जेपीैनल गेटजेकंटेंटपेन() {
यदि (jContentPane == null) {
jLabel = new JLabel();
jLabel.setText("कृपया आइकन को खींचें।");
jLabel.setBackground(Color.white);
jLabel.setHorizontalAlignment(SwingConstants.CENTER);
jLabel.setOpaque(true);
नया ड्रॉपटारगेट (jLabel,
DnDConstants.ACTION_COPY_OR_MOVE, this);
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(jLabel, BorderLayout.CENTER);
}
jContentPane लौटाएँ;
}
// — ड्रॉपटारगेटलिसनर को लागू करता है —————————-
पब्लिक वॉइड ड्रॉप(ड्रॉपटारगेटड्रॉपइवेंट डीटीडीई) {
dtde.acceptDrop(DnDConstants.ACTION_MOVE);
कोशिश {
Transferable tran = dtde.getTransferable();
लिस्ट फाइललिस्ट = (लिस्ट) ट्रान
.getTransferData(DataFlavor.javaFileListFlavor);
इटरेटर = फ़ाइललिस्ट.इटरेटर();
जबकि (इटरेटर.हैज़नेक्स्ट()) {
फ़ाइल फ़ाइल = (फ़ाइल) पुनरावर्तक.अगला();
इमेजआइकॉन आइकन = (इमेजआइकॉन) चूज़र.गेटआइकॉन(फ़ाइल);
स्ट्रिंग ext = फ़ाइल.getAbsoluteFile() + “.png”;
// इमेज फ़ाइल सहेजें
ImageIO.write((BufferedImage) आइकन.getImage(), “png”,
नई फ़ाइल(ext));
jLabel.setText(“<html>निष्कर्षण पूर्ण हुआ<br>”" + ext);
सेटआइकॉनइमेज(आइकॉन.गेटइमेज());
}
dtde.dropComplete(true);
} कैच (अपवाद ई) {
e.printStackTrace();
dtde.dropComplete(false);
}
}
पब्लिक वॉइड ड्रैगएंटर(ड्रॉपटारगेटड्रैगइवेंट ई) {
}
पब्लिक वॉइड ड्रैगओवर(ड्रॉपटारगेटड्रैगइवेंट ई) {
}
पब्लिक वॉइड ड्रॉपएक्शनचेंज्ड(ड्रॉपटारगेटड्रैगइवेंट ई) {
}
पब्लिक वॉइड ड्रैगएग्जिट(ड्रॉपटारगेटइवेंट ई) {
}
}
