源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java根据扩展名获取系统图标和文件图标示例

  • 时间:2020-07-05 13:42 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java根据扩展名获取系统图标和文件图标示例
[u]复制代码[/u] 代码如下:
import java.io.File; import java.io.IOException; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.JLabel; import javax.swing.BoxLayout; import javax.swing.filechooser.FileSystemView; import sun.awt.shell.ShellFolder; public class FileIconExtractor extends JFrame implements ActionListener{ private JButton getIconBtn = new JButton("get Icon"); private JPanel iconPanel = new JPanel(); private JTextField extField = new JTextField(); private JLabel smallIconLabel = new JLabel("small Icon here"); private JLabel bigIconLabel = new JLabel("big Icon here"); public FileIconExtractor() { this.setSize(200, 150); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setLayout(new BorderLayout()); getIconBtn.setActionCommand("GETICON"); getIconBtn.addActionListener(this); iconPanel.setLayout(new 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(true); } public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("GETICON")) { String ext = extField.getText(); File file; try {       file = File.createTempFile("icon", "." + ext);       FileSystemView view = FileSystemView.getFileSystemView();       Icon smallIcon = view.getSystemIcon(file);       ShellFolder shellFolder = ShellFolder.getShellFolder(file);       Icon bigIcon = new ImageIcon(shellFolder.getIcon(true));       setIconLabel(smallIcon, bigIcon);       file.delete(); } catch (IOException ioe) { ioe.printStackTrace(); } } } private void setIconLabel(Icon smallIcon, Icon bigIcon) { smallIconLabel.setIcon(smallIcon); bigIconLabel.setIcon(bigIcon); } public static void main(String[] args) { FileIconExtractor fie = new FileIconExtractor(); } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部