Java ícone do sistemaextrair
JavaAqui apresentamos um programa de exemplo que extrai o ícone de um arquivo especificado em um arquivo de imagem no formato png. O arquivo especificado pode ser qualquer arquivo executável com extensão .exe, dll, xls, doc, etc.
Procurei métodos semelhantes na internet, mas não consegui encontrar nada.
Porém, descobri um método que é muito fácil de obter, por isso vou apresentá-lo a vocês.
Além disso, no Chat&Messenger, este método éCapacidade de anexar arquivos a notas adesivasÉ usado em
Exemplo de confirmação de operação do programa
executar amostra
*Se o arquivo jar estiver associado, ele poderá ser executado.
- Obtenha a fonte da amostra, compile e execute-a.
- Ao iniciá-lo, a janela principal será aberta, basta arrastar e soltar o ícone que deseja extrair na janela.
- Um arquivo de imagem no formato png será enviado para o mesmo local do ícone original.
Exemplo de explicação do programa
O processo de extração de ícones em Java é realizado usando o método a seguir.
-
Defina a aparência para o Windows.
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - Arquivos obtidos arrastando e soltando javax.swing.JFileChooser.getIcon() com método javax.swing.Icon Converter em objeto.
- javax.imageio.ImageIO.write() Envie o objeto Icon para um arquivo de imagem no formato png usando o método.
programa de amostra
importar javax.imageio.ImageIO;
importar javax.swing.ImageIcon;
importar javax.swing.JFileChooser;
importar javax.swing.JFrame;
importar javax.swing.JLabel;
importar javax.swing.JPanel;
importar javax.swing.SwingConstants;
importar javax.swing.UIManager;
classe pública IconExtractor estende JFrame
implementa DropTargetListener {
JPanel privado jContentPane = null;
JLabel privado jLabel = null;
seletor JFileChooser privado;
public static void main(String[] args) {
Extrator IconExtractor = new IconExtractor();
extrator.setVisible(true);
}
public IconExtractor() {
super();
tentar {
UIManager.setLookAndFeel(
UIManager.getSystemLookAndFeelClassName());
seletor = new JFileChooser();
} catch (Exceção e) {
e.printStackTrace();
}
inicializar();
}
private void inicializar() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle(“Extração de ícone”);
this.setLocationRelativeTo(nulo);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
JPanel privado getJContentPane() {
if (jContentPane == nulo) {
jLabel = new JLabel();
jLabel.setText(“Arraste o ícone.”);
jLabel.setBackground(Color.branco);
jLabel.setHorizontalAlignment(SwingConstants.CENTER);
jLabel.setOpaque(true);
novo DropTarget(jLabel,
DnDConstants.ACTION_COPY_OR_MOVE, isto);
jContentPane = new JPanel();
jContentPane.setLayout(novo BorderLayout());
jContentPane.add(jLabel, BorderLayout.CENTER);
}
retornar jContentPane;
}
// — implementa DropTargetListener —————————-
public void drop(DropTargetDropEvent dtde) {
dtde.acceptDrop(DnDConstants.ACTION_MOVE);
tentar {
Tran transferível = dtde.getTransferable();
Lista fileList = (Lista) tran
.getTransferData(DataFlavor.javaFileListFlavor);
Iterador iterador = fileList.iterator();
enquanto (iterator.hasNext()) {
Arquivo arquivo = (Arquivo) iterator.next();
Ícone ImageIcon = (ImageIcon) Chooser.getIcon(arquivo);
String ext = arquivo.getAbsoluteFile() + “.png”;
//Salva o arquivo de imagem
ImageIO.write((BufferedImage) icon.getImage(), “png”,
novo arquivo(ext));
jLabel.setText(“<html>Extração concluída<br>”+ ramal);
setIconImage(icon.getImage());
}
dtde.dropComplete(true);
} catch (Exceção e) {
e.printStackTrace();
dtde.dropComplete(falso);
}
}
public void dragEnter(DropTargetDragEvent e) {
}
public void dragOver(DropTargetDragEvent e) {
}
public void dropActionChanged(DropTargetDragEvent e) {
}
public void dragExit(DropTargetEvent e) {
}
}