2012-05-21 52 views
9

所以在这个应用程序中,用户点击一个按钮,然后该按钮启动一个程序。该按钮将具有应用程序的标题和图标。我只需要知道如何让图标,有点像这个:Windows http://goo.gl/5WjdT如何获取其他应用程序的图标?

所以,我想知道的是这样的:

  1. 有任何真正的办法做到这一点在Java中
  2. 如果所以,你会怎么做?

在此先感谢!

回答

9

您是否必须将图标关联到应用程序的exe文件?如果是这样的话,可以在java中使用,请看this tutorial,它解释了从Java应用程序的可执行二进制文件中提取应用程序图标的几种方法。

看看这个代码:

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

谢谢!你有一个教程,你举了一个例子!如果我能的话+1! – mattbdean

+3

注意:sun。*中的类通常不是公开的API,并且可能随每个JDK版本而改变。 – Puce

7

您可以简单地使用的FileSystemView用于这一目的:

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

谢谢你的回答! – mattbdean

相关问题