2012-02-17 2 views
2

Итак, как мне изменить значок папки на Java (система Windows), есть класс или что-то, что я искал, и ничего не могу найти ...Java - Как изменить значок папки

+0

ли вы имеете в виду значки, показанные в JFileChooser? Или фактический значок, используемый для этой папки Windows, независимо от того, задействована ли Java? – DNA

+1

Вам необходимо использовать API окон. Я не знаю никаких оболочек Java для этой части API, поэтому вам нужно будет создать небольшую программу JNI, которая вызывает соответствующую функцию C. Я предполагаю, что вы имеете в виду значки внутри проводника Windows? Или, если вы имеете в виду отдельные папки, просто используйте это: http://stackoverflow.com/questions/1115012/custom-windows-folder-icon – PeterT

+0

Да, я имею в виду мои фактические папки, которые у меня есть, поэтому мне нужно переделать скрытый ini-файл в каждая папка, чтобы она указывала на значок, который я хочу правильно? –

ответ

1

На основе комментариев значок папки, о котором вы говорите, указан в скрытом файле ini в самой папке.

может создавать/изменять файл, читая его как текст, etcera, но проще использовать существующую стороннюю библиотеку Java. У меня был успех с использованием библиотеки Java с открытым исходным кодом ini4j.

0

Я сделал это с помощью ini4J и работает со мной только при одном условии: путь к папке не должен быть места.

Кодекс:

// Create destop.ini file 
writer = new BufferedWriter("your folder path without any spaces"); 
writer.write(""); 
writer.close(); 

// Set file attributes hidden and system and set folder as system folder and not hidden 
Wini ini = new Wini("your folder path without any spaces"); 
String field = "icon Path" + ",0"; 
ini.put(".ShellClassInfo", "IconResource", field); 
ini.store(); 
Process processCreateFile = Runtime.getRuntime().exec("attrib +h +s " + "desktop.ini file path"); 
Process processCreateFolder = Runtime.getRuntime().exec("attrib -h +s " + "your folder path without any spaces"); 
Смежные вопросы