2017-08-02 39 views
0

我有這個程序,JLabel應該將其文本更改爲「歡迎」,然後「註冊」,然後返回到「歡迎如何連續從一個文本更改一個jlabel,然後重複回到相同的文本

計劃:

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.awt.event.ItemListener; 
import javax.imageio.ImageIO; 
import java.awt.Graphics; 
import java.awt.geom.*; 
import java.util.*; 
public class optionsDineIn extends JPanel { 
    JLabel lab1 = new JLabel("Welcome"); 
    JPanel p = new JPanel(); 

    public void construct() { 
if(lab1.getText().equals("Welcome")) { 
     new java.util.Timer().schedule( 
      new java.util.TimerTask() { 
       @Override 
       public void run() { 
        //for(int i=0; i<=100; i++){ 
        lab1.setText("Register"); 
        //} 
       } 
      }, 
      2000 
     ); 
    } 

      p.add(lab1); 
    } 
+0

我使用for循環嘗試,但它沒有工作,所以它在‘評論’(// ) – NatsuSekai

回答

0

您可以嘗試使用重複任務:

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.awt.event.ItemListener; 
import javax.imageio.ImageIO; 
import java.awt.Graphics; 
import java.awt.geom.*; 
import java.util.*; 
public class optionsDineIn extends JPanel { 
    JLabel lab1 = new JLabel("Welcome"); 
    boolean lab1state = false; 
    JPanel p = new JPanel(); 

    public void construct() { 
     new java.util.Timer().schedule( 
      new java.util.TimerTask() { 
       @Override 
       public void run() { 
        if(lab1state){ 
         lab1.setText("Welcome"); 
        }else{ 
         lab1.setText("Register"); 
        } 
        lab1state = !lab1state; 
       } 
      }, 
      2000, 
      2000 
     ); 
    } 
    p.add(lab1); 
    } 
相關問題