簡體   English   中英

計時器循環可不斷循環一系列圖像[Java-NetBeans]

[英]Timer loop to constantly loop series of images [Java-NetBeans]

我正在嘗試使用Java Swing Timer創建一個循環,以不斷循環瀏覽一組圖像(i1,i2,i3 ....,其中n是圖像總數)。

每個圖像的大小完全相同,並且必須顯示在標簽上(例如l1)。

每個顯示的圖像之間必須有十秒鍾的延遲。

我不使用Java TumbleItem applet怎么辦呢?對於像我這樣的簡單實現來說,似乎太復雜了。 (在學校的網上店面應用程序上顯示特價促銷海報)。

我願意以任何其他方式實現這一目標。

幫助將不勝感激。 提前致謝!

我正在嘗試使用Java Swing Timer創建循環以不斷循環顯示一組圖像

使用計時器時,不使用循環。 當計時器觸發時,您只需更改圖像即可。 因此,您需要在某處保留要顯示的圖像列表和當前顯示圖像的索引。

我不使用Java TumbleItem applet怎么辦呢?對於像我這樣的簡單實現來說似乎太復雜了

有多復雜? 它顯示一系列圖像,接近您想要的圖像。

是的,有一些額外的代碼可以加載圖像,並且在加載所有圖像之前不會啟動動畫。 因此,您不必擔心,可以輕松地簡化代碼。 另外,有一些代碼從左到右然后從右到左執行動畫。 您也不需要代碼的那部分。 另外,還有一些代碼可以配置動畫速度。 同樣,您可以對它進行硬編碼。

因此,如果從該示例開始,然后簡化代碼,則將有一個簡單的解決方案。 嘗試一下,然后在遇到問題時發布代碼。

這很簡單。 使用這樣的計時器:

    Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {

   public void run() {
     //codehere
   }

}, 0, delayInMillis)

使用可以使用整數在圖像中指定。

public int image = 1;

在run()函數中,使用它在圖像之間切換

if(image = 1) {
 image = 2;
} else if(image = 2) {
 image = 3;
} if(image = 3) {
 image = 0;
}

現在,無論您在哪里繪制圖像,都可以使用此方法:

if(image == 1) {
  //draw first image
} else if(image == 2) {
  //draw second image
} else if(image == 3) {
  //draw third image
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM