GIFファイルをJLabelに表示しようとしています。私はGIFをロードし、それをラベルのアイコンとして設定しても問題ありません。しかし、今私は本当にこれが終わる時を知る必要があります。なぜなら、それはカットシーンとして機能しなければならないからです。どのような私はすでに試したことはこれです(GameSceneは、カスタムオブジェクトですが、私は私を信頼し、setIcon作品を知っている):今すぐGIFの再生が完了したことを知ります
private GameScene scene;
private ImageIcon _temp;
private ImageIcon toplay;
private Thread anim;
public Cutscene(ImageIcon gif, GameScene scene, int length){
this._temp = scene.getIcon();
this.toplay = gif;
this.scene = scene;
anim = new Thread(){
@Override
public void run(){
scene.setIcon(gif);
scene.repaint();
try {
Thread.sleep(length);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
}
private void _s(){
scene.setSolidColor(false);
scene.setIcon(toplay);
scene.repaint();
}
public void play(){
_s();
anim.start();
}
public void await(){
try {
anim.join();
scene.setIcon(_temp);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
、とにかくあり、私はただ与えられた量のために、プログラム全体の睡眠をさせる、これをせずに達成することができます残りのコードを続け、完全にGIFファイルを描画しないでください。
"ポイントにまっすぐになる"との質問を開始するではありません。 –
質問が正しく表示されますか? –