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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JFileChooser Listeners. 
:(
    Опции темы
ShurikA
Дата 8.11.2005, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


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

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



С помощью ActionListener действующий на класс JFileChooser можно получить даные (те или иные) после нажатия кнопки "OPEN".
Каким "Listener" можно вопользоваться чтобы получить теже данные при "отмечании" фаила (если вообще возможно)?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
bars_uz
Дата 8.11.2005, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Bratan.. Pomoemu zdes ti doljen sozdat svoe class..
PM MAIL ICQ   Вверх
LSD
Дата 8.11.2005, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Код
JFileChooser fileChooser = new JFileChooser("C:\\");
fileChooser.addPropertyChangeListener(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY ,new PropertyChangeListener()
{
  public void propertyChange(PropertyChangeEvent e)
  {
    System.out.println("Selected file: " + e.getNewValue());
  }
});
fileChooser.showOpenDialog(null);



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
ShurikA
Дата 8.11.2005, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


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

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



Цитата(LSD @ 8.11.2005, 20:57)
Код
JFileChooser fileChooser = new JFileChooser("C:\\");
fileChooser.addPropertyChangeListener(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY ,new PropertyChangeListener()
{
  public void propertyChange(PropertyChangeEvent e)
  {
    System.out.println("Selected file: " + e.getNewValue());
  }
});
fileChooser.showOpenDialog(null);

Спасибо!!! smile
Кстати, это встроенная функция?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
LSD
Дата 8.11.2005, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Цитата(ShurikA @ 8.11.2005, 22:34)
Кстати, это встроенная функция?

Что значит встроенная?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
ShurikA
Дата 8.11.2005, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


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

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



Цитата(LSD @ 8.11.2005, 22:11)
Что значит встроенная?
Опять ступил smile

ещё один вопрос на тему JFileChooser:
известно мне что можно убрать "ControlButton" с помощью jFileChooser1.setControlButtonsAreShown(false);.
можно ли так же убрать и строки :
File Name:
File Type:

?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
LSD
Дата 8.11.2005, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Цитата(ShurikA @ 8.11.2005, 23:38)
можно ли так же убрать и строки :
File Name:
File Type:
?

Ты хочешь изменить тип просмотра List/Details, или именно убрать заголовок над столбцами в режиме Details?

P.S. Вид JFileChooser-а сильно меняется в зависимости от LaF, поэтому указывай с каким ты работаешь.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
ShurikA
Дата 9.11.2005, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


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

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



Цитата(LSD @ 8.11.2005, 22:54)
Ты хочешь изменить тип просмотра List/Details, или именно убрать заголовок над столбцами в режиме Details?

Не то и не другое.
Если пльзоваться стандартным обьектом "JFileChooser" то он выглядит так:
--Resize_Images_Alt_Text--

Как видишь, внизу есть строки:
File Name: ...
File Type: ...


Можно ли их убрать?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
LSD
Дата 9.11.2005, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Цитата(ShurikA @ 9.11.2005, 00:09)
Можно ли их убрать?

Хм... Точно не знаю, но по моему нет (надо подробней разбираться).

А зачем это надо, может есть способ попроще?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
ShurikA
Дата 9.11.2005, 00:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


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

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



Цитата(LSD @ 8.11.2005, 23:16)
А зачем это надо, может есть способ попроще?

Просто красивееsmile

Продолжим:
Код

.
.
.
jFileChooser1.addPropertyChangeListener(jFileChooser1.SELECTED_FILE_CHANGED_PROPERTY, new PropertyChangeListener()
                {
                    public void propertyChange(PropertyChangeEvent evt) 
                    {
                        buildFileList((File)evt.getNewValue());
                        //File dir = (File) evt.getNewValue();
                        //tf.setText(dir.getPath());
                    }
                });
.
.
.


при этом
Код

private void buildFileList(File dir)
    {
        File[] listFiles = dir.listFiles();
        fList = null;
        fList = new JList(listFiles);
        fList.repaint();
    }


и так же в public void init():
Код

.
.
.
JSplitPane splitPane = new JSplitPane( JSplitPane.VERTICAL_SPLIT,
                                               jFileChooser1,
                                               fList );
        add(splitPane);
.
.
.


когда помчаю дерикторию, fList не обновляется...

?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
LSD
Дата 9.11.2005, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



По умолчаню у JFileChooser fileSelectionMode установлен в FILES_ONLY, поэтому каталоги не выбираются (их нельзя получить и через getSelectedFile()). Чтобы от этого избавиться надо: fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES).


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
ShurikA
Дата 9.11.2005, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


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

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



Цитата(LSD @ 9.11.2005, 10:08)
По умолчаню у JFileChooser fileSelectionMode установлен в FILES_ONLY, поэтому каталоги не выбираются (их нельзя получить и через getSelectedFile()). Чтобы от этого избавиться надо: fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES).

Выставленно DIRECTORIES_ONLY
Добавлено @ 13:44
Провлемма не с JFileChooser, он равотает, проверенно.
дело в JList.


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
LSD
Дата 9.11.2005, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Цитата(ShurikA @ 9.11.2005, 13:39)
Провлемма не с JFileChooser, он равотает, проверенно.
дело в JList.

Что я вижу из твоего кода:
1. Каждый раз при изменении данных ты создаешь новый JList, это не противозаконно, но неэфективно с точки зрения производительности
2. При создании нового JList, ты не добавляешь его в JSplitPane и не удаляешь оттуда старый JList


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
ShurikA
Дата 9.11.2005, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


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

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



Может я не прав но:
1. Каждый раз я обнуляю обьект указывающий на JList. (List = null;)
2. К нему же присваиваю новый. (fList = new JList(listFiles);)
3. По идее добавлять не надо, так как это та же самая ссылка "fList".

Исправь меня если я не прав.


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
LSD
Дата 9.11.2005, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Проблема в том, что fList это твоя собственная переменная и она не имеет никакого отношения к иерархии компонентов. Чтобы компонент начал отображаться надо добавить его в контейнер методом add(), что выполняется неявно в конструкторе new JSplitPane( JSplitPane.VERTICAL_SPLIT, jFileChooser1, fList), т.е. после создания нового JList тебе надо вызвать у splitPane метод setLeftComponent() или setRightComponent() (он автоматом проведет все действия по удалению старого объекта и добавлению нового).

Но я все же не понимаю, почему ты каждый раз создаешь новый JList, почему нельзя просто поменять данные в старом?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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