2012-05-21 36 views
9

Así que en esta aplicación que estoy haciendo, el usuario hace clic en un botón y ese botón inicia un programa. Este botón tendrá el título de la aplicación y el ícono. Sólo necesito saber cómo conseguir el icono, algo así como esto: Windows http://goo.gl/5WjdT¿Cómo obtener el ícono de otra aplicación?

Lo que quiero saber es esto:

  1. ¿Hay alguna manera real de hacer esto en Java
  2. Si Entonces, ¿cómo lo harías?

¡Gracias de antemano!

Respuesta

9

¿Tienes que obtener el ícono asociado al archivo exe de la aplicación? Si es así, es posible en Java, eche un vistazo a this tutorial, que explican varias formas de extraer el icono de la aplicación de un archivo binario ejecutable desde una aplicación Java.

Tome un vistazo a este código:

String s = "c:/windows/regedit.exe"; 
File file = new File(s); 

// Get metadata and create an icon 
sun.awt.shell.ShellFolder sf = 
     sun.awt.shell.ShellFolder.getShellFolder(file); 
Icon icon = new ImageIcon(sf.getIcon(true)); 
+0

Gracias! ¡Tienes un tutorial y has dado un ejemplo! +1 si pudiera! – mattbdean

+3

Nota: las clases en sun. * Generalmente no son API publicadas y pueden cambiar con cada versión de JDK. – Puce

7

puede simplemente usar FileSystemView para tal fin:

public static void main(String[] args) { 
    Icon icon = FileSystemView.getFileSystemView() 
     .getSystemIcon(new File("C:\\Windows\\regedit.exe")); 
    JFrame frame = new JFrame(); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.add(new JLabel(icon)); 
    frame.pack(); 
    frame.setVisible(true); 
} 
+0

¡Gracias por tu respuesta! – mattbdean

Cuestiones relacionadas