复制代码代码如下:
นำเข้า java.io.File;
นำเข้า java.io.IOException;
นำเข้า java.awt.BorderLayout;
นำเข้า java.awt.event.ActionEvent;
นำเข้า java.awt.event.ActionListener;
นำเข้า javax.swing.Icon;
นำเข้า javax.swing.ImageIcon;
นำเข้า javax.swing.JButton;
นำเข้า javax.swing.JFrame;
นำเข้า javax.swing.JPanel;
นำเข้า javax.swing.JTextField;
นำเข้า javax.swing.JLabel;
นำเข้า javax.swing.BoxLayout;
นำเข้า javax.swing.filechooser.FileSystemView;
นำเข้า sun.awt.shell.ShellFolder;
FileIconExtractor คลาสสาธารณะขยาย JFrame ใช้งาน ActionListener {
JButton ส่วนตัว getIconBtn = JButton ใหม่ ("รับไอคอน");
ไอคอน JPanel ส่วนตัว = JPanel ใหม่ ();
JTextField ส่วนตัว extField = JTextField ใหม่ ();
JLabel ส่วนตัว smallIconLabel = JLabel ใหม่ ("ไอคอนขนาดเล็กที่นี่");
JLabel ส่วนตัว bigIconLabel = JLabel ใหม่ ("ไอคอนขนาดใหญ่ที่นี่");
FileIconExtractor สาธารณะ () {
this.setSize(200, 150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(BorderLayout ใหม่());
getIconBtn.setActionCommand("GETICON");
getIconBtn.addActionListener (สิ่งนี้);
iconPanel.setLayout (BoxLayout ใหม่ (iconPanel, BoxLayout.Y_AXIS));
iconPanel.add(smallIconLabel);
iconPanel.add(bigIconLabel);
this.add(extField, BorderLayout.NORTH);
this.add(iconPanel, BorderLayout.CENTER);
this.add(getIconBtn, BorderLayout.SOUTH);
this.setVisible (จริง);
-
การกระทำที่เป็นโมฆะสาธารณะดำเนินการ (ActionEvent e) {
ถ้า (e.getActionCommand().equals("GETICON")) {
สตริงต่อ = extField.getText();
ไฟล์ไฟล์;
พยายาม
-
file = File.createTempFile("ไอคอน", "." + ต่อ);
มุมมอง FileSystemView = FileSystemView.getFileSystemView();
ไอคอน SmallIcon = view.getSystemIcon (ไฟล์);
ShellFolder shellFolder = ShellFolder.getShellFolder(ไฟล์);
ไอคอน bigIcon = ImageIcon ใหม่ (shellFolder.getIcon (true));
setIconLabel(smallIcon, bigIcon);
ไฟล์.ลบ();
-
จับ (IOException ioe)
-
ioe.printStackTrace();
-
-
-
setIconLabel เป็นโมฆะส่วนตัว (ไอคอน SmallIcon, ไอคอน bigIcon) {
smallIconLabel.setIcon(smallIcon);
bigIconLabel.setIcon(บิ๊กไอคอน);
-
โมฆะคงที่สาธารณะ main (String [] args) {
FileIconExtractor fie = FileIconExtractor ใหม่ ();
-
-