OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

アニメーションをスタート・ストップさせるボタンについて

  • すぐに回答を!
  • 質問No.102963
  • 閲覧数370
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 0% (0/1)

12枚の画像をスタートストップボタンでアニメーションさせるプログラムを作りたいのですが、どのように作ればいいのでしょうか?
どなたか教えていただけませんでしょうか?

ちなみに、一応作ったものはありますが、ここにはのせられなかったので、ご連絡いただければ、添付させていただきたいと思います。

よろしくお願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全1件)

  • 回答No.1
レベル7

ベストアンサー率 71% (5/7)

 以下は、画像を差し替えながら表示させてアニメーションにするアプリケーションの一例です。 import java.awt.*; import java.awt.event.*; class animecanvas extends Canvas implements ActionListener, Runnable { private static final String File ...続きを読む
 以下は、画像を差し替えながら表示させてアニメーションにするアプリケーションの一例です。

import java.awt.*;
import java.awt.event.*;

class animecanvas extends Canvas implements ActionListener, Runnable {

private static final String FileName[] = {"0.gif", "1.gif", "2.gif", "3.gif", "4.gif", "5.gif", "6.gif", "7.gif", "8.gif", "9.gif"};
public Thread AnimeThread;
private Image Cell[];
private Button SB;
private boolean RunFlag;
private int CellNum;

public animecanvas(Button sb) {

int i;

SB = sb;
Cell = new Image[FileName.length];
for (i = 0; i < FileName.length; i ++)
Cell[i] = Toolkit.getDefaultToolkit().getImage(FileName[i]);

AnimeThread = new Thread(this);
CellNum = 0;
RunFlag = false;

};

public void run() {

while (CellNum >= 0) {
if (RunFlag) {
CellNum ++;
if (CellNum >= FileName.length) CellNum = 0;
repaint();
};
try { Thread.sleep(500); } catch(Exception ex) { CellNum = -1; };
};

};

public void paint(Graphics g) { g.drawImage(Cell[CellNum], 0, 0, this); };

public void update(Graphics g) { paint(g); };

public void actionPerformed(ActionEvent ae) {

if (ae.getActionCommand() == "SB") {
if (RunFlag) SB.setLabel("start");
else SB.setLabel("stop");
RunFlag = !RunFlag;
};

};

}

public class anime {

public static void main(String args[]) {

Frame MF = new Frame("Anime");
MF.setSize(300, 300);

Button SB = new Button("Start");
animecanvas AC = new animecanvas(SB);
MF.add(SB, BorderLayout.NORTH);
MF.add(AC, BorderLayout.CENTER);

SB.addActionListener(AC);
SB.setActionCommand("SB");

MF.setVisible(true);
AC.AnimeThread.start();

};

}


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ