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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Animated GIF 
:(
    Опции темы
TrivialCore
Дата 30.9.2004, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Привет, если я в JLabel посажу Image, в котором загружу animated GIF, то будет ли эта картинка двигаться? Хоть я и не пробовал, но что-то внутри мне подсказывает, что не будет. Как же тогда наименьшим кровопролитием заставить ее быть согласно ее предназначению?
PM MAIL   Вверх
Domestic Cat
Дата 30.9.2004, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Цитата
то будет ли эта картинка двигаться?


Ответ: будет biggrin.gif

Это сообщение отредактировал(а) Domestic Cat - 30.9.2004, 18:56


--------------------

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


Бывалый
*


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

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



Ага, ясно, спасибо за помощь biggrin.gif
PM MAIL   Вверх
TrivialCore
Дата 1.10.2004, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



А как это вообще сделать? Я перепутал, JLabel не принимает Image в параметрах конструктора.
Как посадить анимированный гиф и запускать/останавливать его, когда надо?
PM MAIL   Вверх
Domestic Cat
Дата 1.10.2004, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Можно так:

Код

JLabel label = new JLabel(new ImageIcon("myAnime.gif"));


А вот рисование гифa в paintComponent анимации не даст.


--------------------

PM   Вверх
TrivialCore
Дата 1.10.2004, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Я сделал так, но лейбл остается пустым... Что сделать, чтобы был не пустым?
Добавлено @ 15:52
Вот весь класс:
Код
public class ProcessIcon extends JLabel {

   private Image processImage;
   private ImageObserver imageObserver;
   
   public ProcessIcon(ImageObserver imageObserver) {
       super(new ImageIcon("/com/hp/web/util/multitool/img/processing.gif"));
       setPreferredSize(new Dimension(25, 25));
       System.out.println("ProcessIcon: constructing!");
       //setOpaque(true);
       //setBorder(BorderFactory.createEtchedBorder(Color.BLACK, Color.BLUE));
   }
}

PM MAIL   Вверх
Domestic Cat
Дата 1.10.2004, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Значит, он не находит рисунка. Для начала помести рисунок в ту же директорию и попробуй просто

Код

new ImageIcon("processing.gif");


Это сообщение отредактировал(а) Domestic Cat - 1.10.2004, 16:09


--------------------

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


Бывалый
*


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

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



Сделал так - и так не работает =\

Что еще может быть не так?
PM MAIL   Вверх
Domestic Cat
Дата 1.10.2004, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Не знаю. У меня вот это:

Код

public class Test extends JFrame
{
   Test()
   {
       setSize(300, 300);
       getContentPane().add(new JLabel(new ImageIcon("2.gif")));
       setVisible(true);
   }
   
   public static void main(String[] args)    
   {
       new Test();
   }
}


показывает анимированный гиф. И Тест, и 2.гиф в одной директории - Desktop.



--------------------

PM   Вверх
TrivialCore
Дата 1.10.2004, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Возможно, что гиф кривой? Хотя везде в других местах отображается корректно..
PM MAIL   Вверх
TrivialCore
Дата 1.10.2004, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Взял вместо гифа джпег - тоже не отображает...
PM MAIL   Вверх
Domestic Cat
Дата 1.10.2004, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Попробуй с кодом что я выше запостил - то же самое?


--------------------

PM   Вверх
TrivialCore
Дата 1.10.2004, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Твой код работает...
PM MAIL   Вверх
Domestic Cat
Дата 1.10.2004, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Может ты что в ProcessIcon не так делаешь?
Кстати в путях лучше использовать System.getProperty("file.separator") а не слеш.


--------------------

PM   Вверх
Domestic Cat
Дата 2.10.2004, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Ну так как - получилось ?


--------------------

PM   Вверх
TrivialCore
Дата 4.10.2004, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Получилось biggrin.gif Просто я неправильно к картинке обращался. Надо было как к ресурсу:
Код
iconRunning = new ImageIcon(getClass().getResource("../img/rack1.gif"));


Но возникает в связи с этим следующий вопрос. У меня две эти картинки, одна движущаяся, а вторая статичная. Так вот иногда надо переключать быстро между ними, а не получается, т.к. какой-то перерыв между ними во времени...
Причем при первом переключении картинок перерыв - длиннее, поэтому я думаю, что частично проблема в прелоадинге. Поэтому мой вопрос: Как заранее загрузить картинку, а то new ImageIcon(...) этого не делает по всей видимости...
PM MAIL   Вверх
Domestic Cat
Дата 5.10.2004, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Если написать

Код

ImageIcon icon1 = new ImageIcon(fileName1);
ImageIcon icon2 = new ImageIcon(fileName2);

//


тo к // обe иконки будут уже загружены. Можо код посмотреть, каk таm что делается ?


--------------------

PM   Вверх
TrivialCore
Дата 7.10.2004, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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

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

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


 




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


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

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