Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 17.08.2011
Сообщений: 3

Мерцает gif - анимация

17.08.2011, 21:12. Показов 5211. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
только изучаю Swing, решил попробовать написать меню к игре, для этого сначала попробовал просто вывести текст и gif - анимацию на экран. все вывелось, но gif - почему то все время мерцает. подскажите что сделать чтобы он мерцать перестать?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
package deadinside;
 
import javax.swing.*;
import java.awt.*;
 
/**
 *
 * @author Str@nger
 */
 
public class Main {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Frame frame = new Frame(1000,700);
        frame.setResizable(false);
        frame.setTitle("DeadInside");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        Frame.CenterFrame(frame);
        Toolkit Kit = Toolkit.getDefaultToolkit();
        
        frame.setIconImage(null);
    }
 
}
 
//***************************************************
 
class Frame extends JFrame {
 
    public Frame(int Width, int Height) {
        setSize(Width, Height);
        GPanel DrawPanel = new GPanel();
        add(DrawPanel);
    }
    
    static void CenterFrame(Frame frame) {
        final Dimension ScreenSize = Toolkit.getDefaultToolkit().getScreenSize();
        final short ScreenWidth = (short) ScreenSize.width;
        final short ScreenHeight = (short) ScreenSize.height;
        final short FrameX = (short) (ScreenWidth / 2 - 500);
        final short FrameY = (short) (ScreenHeight / 2 - 350);
        frame.setLocation(FrameX, FrameY);
    }
}
 
//***************************************************
 
class GPanel extends JPanel {
    public void paintComponent(Graphics graph) {
        super.paintComponent(graph);
        graph.drawString("1", 100, 100);
        Toolkit Kit = Toolkit.getDefaultToolkit();
        Image Logo = Kit.getImage("Играть1.gif");
        graph.drawImage(Logo, 150, 150, this);
    }
}
картинка прилагается

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.08.2011, 21:12
Ответы с готовыми решениями:

Java и gif анимация
Как разместить на панели gif анимацию? Рабочих примеров не нашел, дайте ссылку на пример или сам пример.

Анимация GIF в java
Здравствуйте! Подскажите почему картинки gif (анимированые) при добавлении их в диалог, или форму, или JLabel и т.д., воспроизводятся с...

GIF анимация
Ребят ну помогите пожалуйста в архиве имеется Gif анимация это подобие того что я хочу сделать и так же имеется папка в которой кадры этой...

1
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
24.09.2011, 19:12
Цитата Сообщение от Str@nger Посмотреть сообщение
только изучаю Swing, решил попробовать написать меню к игре, для этого сначала попробовал просто вывести текст и gif - анимацию на экран. все вывелось, но gif - почему то все время мерцает. подскажите что сделать чтобы он мерцать перестать?
у тебя гифка с разными фреймами, в java на каждый фрейм этой гифки репаинтится JPanel а потом поверху фрейм гифки, вот оно и мерцает, надо взять первый фрейм гифки и положить его как подложку под этот и тогда всё будет ок

Java
1
2
3
4
5
6
7
8
9
10
11
12
class GPanel extends JPanel {
    public void paintComponent(Graphics graph) {
        super.paintComponent(graph);
        graph.drawString("1", 100, 100);
        Toolkit Kit = Toolkit.getDefaultToolkit();
        Image logo = Kit.getImage("play.gif");
        Image underLogo = Kit.getImage("play.png");
        graph.drawImage(underLogo, 150, 150, this);
        graph.drawImage(logo, 150, 150, this);
 
    }
}
Добавлено через 22 минуты
или так
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class GPanel extends JPanel {
    public void paintComponent(Graphics graph) {
        super.paintComponent(graph);
        graph.drawString("1", 100, 100);
        Toolkit Kit = Toolkit.getDefaultToolkit();
        Image logo = Kit.getImage("play.gif");
        ImageReader reader = ImageIO.getImageReadersByFormatName("gif").next();
        try {
            reader.setInput(new FileImageInputStream(new File("play.gif")));
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
        BufferedImage fframe = null ;
        try {
             fframe = reader.read(0);
        } catch (IOException e) {
            e.printStackTrace();
        }
        graph.drawImage(fframe , 150, 150, this);
        graph.drawImage(logo, 150, 150, this);
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.09.2011, 19:12
Помогаю со студенческими работами здесь

gif анимация
Есть картинка gif анимированая. Можно но ли ее как нибуть вставить что бы она была так же анимированая?

Анимация из .gif
Доброго времени суток. Такой вопрос: как создать анимацию персонажа на изображении .gif? Я до этого делал кучу спрайтов из .png, а сразу...

Показ анимированных Gif файлов при помощи функций GDI+
Если кому интересно в прикреплённом файле Анимация Gif.rar находятся исходники. Показ анимированных Gif файлов при помощи функций GDI+...

Gif анимация
Знаю что тема поднималась не раз, но все же так и не могу загрузить gif анимацию. перечитывал эту тему несколько раз. код ...

GIF-анимация
Здравствуйте, программисты. Недавно поставил С++ 2007, в котором у компоненты TImage есть поддержка GIF.Поддержка есть, но фактически...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru