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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обновление изображения на элементе Swing 
V
    Опции темы
BAToff
Дата 22.1.2007, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте !!! У мну возникла маленькая проблемка, пустяковая вринципе, но как её решить - не знаю и не понимаю в чем проблема.  Кроче ...  есть компонент JButton - который загрузает на себя изображение (ImageIcon), которое сам перед этим создал.... и всё бы ничего .... да вот только картинка загрузившись единожды не хочет больше меняться(генерятся разные картинки с разными именами и ссылка на них соотвественно).
Я думаю может картинка хэшируется гденить, потому что даже после удаления файла- изображение всёравно погружалось ....

Яж и незнаю что делать - обидно!!! ))

PM MAIL   Вверх
powerOn
Дата 22.1.2007, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



выкладывай код.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
BAToff
Дата 22.1.2007, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Конечно!!!  вот этот код-монстр, стоящий кучу "бабок" =D 

Код

update.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                
                barcode.setIcon(new ImageIcon("/home/bat/example/barbar.gif"));    
                
                
            }
        });


Ну как ? шок - это по нашему )))!!!
PM MAIL   Вверх
LSD
Дата 22.1.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



Сделай
Код
barcode.repaint();



--------------------
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   Вверх
carper
Дата 22.1.2007, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(LSD @ 22.1.2007,  16:52)
Сделай
Код
barcode.repaint();

Насколько я помню, repaint и так вызывается в setIcon из AbstractButton.

Во всяком случае, я бы скорее посмотрел на правильность задания пути, сама иконка-то грузится?
PM MAIL   Вверх
BAToff
Дата 23.1.2007, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Уважаемый LSD проверил метод repaint(); но как не было изменений так и нет -  в первый раз иконка рисуется, а потом ни как меняться не хочет, создаётся такое впечатление что в процессе работы приложение делает снимок с необходимой облости файловой системы, а потом с ней работает, потому как можно даже удалить, поменять файл ("/home/bat/example/barbar.gif") и всё равно иконка не поменяется, помогает только перезапуск приложеня, вот я думаю а можно ли как нибудь перезапустить отдельный компонент(т.е. остановить->удалить->создать новый с теми же св-ми) или же может есть более подходящие swing компоненты для манипуляции с графикой.

А может я просто банально не то сделал smile вот код с repaint();

Код

update1.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                
                
            //    im="/home/bat/example/"+data+".gif";
                
                barcode1.setIcon(new ImageIcon("/home/bat/example/barbar.gif"));    
                barcode1.repaint();    
                
                
            }
        });

 

Это сообщение отредактировал(а) BAToff - 23.1.2007, 09:26
PM MAIL   Вверх
BAToff
Дата 23.1.2007, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Кстати я тут ещё одну фишку нашел смысл такой, не знаю почему но ссылка на картинку не обновляется. А именно не обновляется "n", если его править ручками на лету в JTextField path то всё номально

вот то что я сделал:

JTextField tf_data (Имя файла, задаётся ручками)                               
JTextField path     (абсалютный путь к файлу) 

JLabel barcode1   (компонет для отображения картинки)
JButton update     (кнопка обновления изображения на JLabel)

Код

final JTextField tf_data = new JTextField("1234ExaplebarcodeTVZ",5);
final JTextField path = new JTextField ("",5);
String n;        
n=tf_data.getText();
path.setText("/home/bat/example/"+n+".gif");

update.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                String p;
                p=path.getText();
                barcode1.setIcon(new ImageIcon(p));    
                
                
                
            }
        });

PM MAIL   Вверх
BAToff
Дата 23.1.2007, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



!!!!!! Ура !!!!!!   Всё, всем ОГРОМНОЕ спасибо, благодоря Вам мои мозги снова на рельсах !!!!! Заработало !!!! It's a Live !!!!!    Поражаюсь на себя просто - запасы тупизма людкого в отличае от нефти не закончатся ни когда smile)!!! 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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