复制代码代码如下:
импортировать 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 iconPanel = новый 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(истина);
}
общественный недействительный actionPerformed (ActionEvent e) {
if (e.getActionCommand().equals("GETICON")) {
Строка ext = extField.getText();
Файловый файл;
пытаться
{
файл = File.createTempFile("значок", ". + ext);
Представление FileSystemView = FileSystemView.getFileSystemView();
Значок smallIcon = view.getSystemIcon(файл);
ShellFolder ShellFolder = ShellFolder.getShellFolder(файл);
Значок bigIcon = новый ImageIcon(shellFolder.getIcon(true));
setIconLabel(smallIcon, bigIcon);
файл.удалить();
}
поймать (IOException ioe)
{
ioe.printStackTrace();
}
}
}
Private void setIconLabel (Icon smallIcon, Icon bigIcon) {
smallIconLabel.setIcon(smallIcon);
bigIconLabel.setIcon(большойIcon);
}
public static void main(String[] args) {
FileIconExtractor fie = новый FileIconExtractor ();
}
}