Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пиктограммы папок 
:(
    Опции темы
Urnix
Дата 4.10.2010, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 20.6.2007

Репутация: нет
Всего: нет



Здравствуйте.
Столкнулся с задачей - написать простейший файловый браузер. Задача простая, вот подзадача "сделать пиктограммы папок такими же какие применяются в той ОС под которой запущена программа" поставила в тупик.
Подскажите пожалуйста, как определить какие иконки использует ОС д/ отображения папок.
И ещё неплохо было бы узнать как подгрузить потом эти пиктограммы в JTree вместо стандартных.
Заранее благодарен.
PM MAIL ICQ   Вверх
Amp
Дата 5.10.2010, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: 3
Всего: 17



PM MAIL   Вверх
Urnix
Дата 28.11.2010, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 20.6.2007

Репутация: нет
Всего: нет



Цитата(Amp @ 5.10.2010,  11:23)
http://forum.vingrad.ru/topic-297377/unread-1.html

Amp, спасибо за цитату. К сожалению это не совсем то что мне было нужно. Хотя было интересно почитать для общего развития.

Добавлено @ 21:25
Выкладываю мою реализацию задачи указанной в заголовке на случай, если кому-то будет интересно.
Код

import java.awt.Component;
import java.io.File;

import javax.swing.JTree;
import javax.swing.filechooser.FileSystemView;
import javax.swing.tree.DefaultTreeCellRenderer;

@SuppressWarnings("serial")
class FileCellRenderer extends DefaultTreeCellRenderer {
    FileSystemView fsv = FileSystemView.getFileSystemView();

    public Component getTreeCellRendererComponent(JTree tree, Object value,
            boolean sel, boolean expanded, boolean leaf, int row,
            boolean hasFocus) {
        Component result = super.getTreeCellRendererComponent(tree, value, sel,
                expanded, leaf, row, hasFocus);
        File f = (File) value;
        setIcon(FileSystemView.getFileSystemView().getSystemIcon(f));
        // Корректное отображение имён файлов в в дереве
        if (fsv.getSystemDisplayName(f).length() > 0)
            setText(fsv.getSystemDisplayName(f));
        else
            setText(fsv.getSystemTypeDescription(f) + " ("
                    + f.getAbsolutePath().substring(0, 2) + ")");
        return result;
    }
}


Собственно иконку нужного нам файла можно получить посредством 
Код
FileSystemView.getFileSystemView().getSystemIcon(f)



Это сообщение отредактировал(а) Urnix - 28.11.2010, 21:29
PM MAIL ICQ   Вверх
dorogoyIV
Дата 29.11.2010, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 3
Всего: 46



делал я давно такое. была проблема - файлы .mdf .mds не отображались. (искать решение не стал, взял стандартный FileChooser smile )
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0712 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.