A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
以下は、画像を差し替えながら表示させてアニメーションにするアプリケーションの一例です。
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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 画像編集・動画編集・音楽編集 AfterEffectでのシャターの挙動がおかしい 1 2023/05/07 00:38
- マウス・キーボード ロジクールGHUBのインストール~初期設定 1 2023/04/23 21:36
- HTML・CSS 画像が分割されて切り替わる、ループアニメーションが作りたい 7 2023/05/27 17:12
- Windows 10 Windows10の再起動について 3 2022/09/21 21:30
- Excel(エクセル) excelvbaでスライドショーを作りたい 2 2023/04/20 14:32
- Photoshop(フォトショップ) ピクセルとモニターサイズについて 1 2022/11/02 17:18
- JavaScript jsで診断コンテンツのページ内切り替えについて 1 2023/04/14 17:31
- ノートパソコン gifアニメ―ションを動画(mp4でOK)にしたい 1 2022/08/14 09:51
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- Windows Me・NT・2000 パソコン終了 4 2022/05/09 09:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エンターキーを押すとOKボタン...
-
ペイントソフトを作っているの...
-
GetDIBits関数の使い方について
-
C#で、あるクラスのメンバーす...
-
C#から、C++で作成したdll内の...
-
マルチスレッドプログラムから...
-
大量のデータを読み込んで表示...
-
JButtonの画像をactionPerforme...
-
C#で別のFormへ複数の値を返そ...
-
Junitテストでvoid戻り値メッソ...
-
C# LISTBOXの複数項目取得
-
C# visibleプロパティをfalseに...
-
struts2のchainで値の受け渡し...
-
Javaの課題について質問です。...
-
パスがとおらない・・・
-
unityでのC++エラーの原因がわ...
-
Log4jで機能毎に別ファイルへ出...
-
flush()とclose()について
-
C言語のポインターに関する警告
-
IF関数でEmpty値を設定する方法。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
ボタンの複数割り当てについて
-
C#で、あるクラスのメンバーす...
-
Junitテストでvoid戻り値メッソ...
-
C#でのWNetAddConnection3の使...
-
C# 矢印キーの取得
-
Thread.sleepのInterruptedExce...
-
unityでのC++エラーの原因がわ...
-
C#で別のFormへ複数の値を返そ...
-
C# visibleプロパティをfalseに...
-
エンターキーを押すとOKボタン...
-
Processingでマウスクリックで...
-
[C#.net]スレッド化された別フ...
-
C#でキーイベントが発生しない...
-
C# DataGridView列カスタマイズ
-
【C#】ソースコードをファイル...
-
LVM_SETITEMSTATEでListViewの...
-
GetDIBits関数の使い方について
-
未割り当てのローカル変数
-
C# MouseHoverを何度も呼ぶには
おすすめ情報