Hier mal eine Methode, wie man an die SystemFileIcons kommt, um die Icons in einem TreeView oder ListView zu verwenden.
Achtung: läuft nicht mehr ab Java 9
Dazu benötigt man diese Library -> Download 1 oder Download 2
private Image getSystemIcon(File file) {
ShellFolder sf = null;
try {
sf = ShellFolder.getShellFolder(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// Get large icon
ImageIcon ico = new ImageIcon(sf.getIcon(true), sf.getFolderType());
java.awt.Image awtImage = ico.getImage();
BufferedImage bImg ;
if (awtImage instanceof BufferedImage) {
bImg = (BufferedImage) awtImage ;
} else {
bImg = new BufferedImage(awtImage.getWidth(null), awtImage.getHeight(null), BufferedImage.TYPE_INT_ARGB);
Graphics2D graphics = bImg.createGraphics();
graphics.drawImage(awtImage, 0, 0, null);
graphics.dispose();
}
Image fxImage = SwingFXUtils.toFXImage(bImg, null);
// System.out.println("Icon-Breite: " + fxImage.getWidth() + " - Icon-Höhe: " + fxImage.getHeight());
return fxImage;
}