2016-03-25 8 views
0

カスタマイズ可能なオプションでclock programmを作成しようとしていますが、私は初心者ですから、いくつかの問題にぶち当たっています。私はDigitalClockプロジェクトを使用しようとしましたが、今のところ私にはあまりにも多くのものがあります TimerとScheduledExecuterServiceを調べましたが、どのように使用するのか、どこに配置するのかはわかりません。 私はバックグラウンドに色を設定しようとしましたが、エラーはそれが実行された可能性があります。 プロセスをミリ秒単位で繰り返し、バックグラウンドを追加してコードを軽くする方法はありますか?どのようにして現在の時刻を表示することができますか?

public Clock() { 
    initComponents(); 
    Calendar cal = new GregorianCalendar(); 
    int second = cal.get(Calendar.SECOND); 
    int minute = cal.get(Calendar.MINUTE); 
    int hour = cal.get(Calendar.HOUR_OF_DAY); 
    ///////////////////////////////////////////////////////////// 
    if (second < 10){ 
     time.setText(" "+hour+": "+minute+":0"+second+""); 
    } 
    else if (minute < 10){ 
     time.setText(" "+hour+":0"+minute+": "+second+""); 
    } 
    else if (hour < 10){ 
     time.setText("0"+hour+": "+minute+": "+second+""); 
    } 
    else if (hour < 10 & minute < 10){ 
     time.setText("0"+hour+":0 "+minute+": "+second+""); 
    } 
    else if (minute < 10 & second < 10){ 
     time.setText(" "+hour+":0"+minute+":0"+second+""); 
    } 
    else if (hour < 10 & minute < 10 & second < 10){ 
     time.setText("0"+hour+":0"+minute+":0"+second+""); 
    } 
    else { 
     time.setText(hour + " : " + minute + " : " + second+""); 
    } 
    //////////////////////////////////////////////////////////////// 

    } 
+1

あなたは 'javascript 'で' java'を誤解しましたか?彼らはどちらも異なっています。 – Munawir

答えて

0

あなたはそれを簡単にしたいなら、あなたは、単純な次の操作を行うことができます。

public static void main (String[] args) throws Exception 
{ 
    final SimpleDateFormat sf = new SimpleDateFormat("HH:mm:ss:SSS"); 
    while(true) { 
     System.out.println(sf.format(new Date())); 
     Thread.sleep(1); 
    } 
} 

しかし、これは、間にミリ秒エントリを逃すかもしれません。たとえば、308の後に直接310に移動し、その間に309が見つからないことがあります。しかし、私たちは1/1000th秒について話しているので、現実には気付かれることはほとんどありません。

public Clock() { 
    public static void main (String[] args) throws Exception { 
     initComponents(); 
     final SimpleDateFormat sf = new SimpleDateFormat("HH:mm:ss:SSS"); 
     while(true) { 
      time.setText = sf.format(new Date()); 
      Thread.sleep(1); 
     } 
    } 
} 
0
final SimpleDateFormat sf = new SimpleDateFormat("HH:mm:ss:SSS"); 
Timer timer = new Timer(); 
timer.schedule(new TimerTask() { 
     public void run() { 
      System.out.println(sf.format(new Date())); 
     } 
}, 0 , 1000000); 

は1ミリ秒で繰り返すことになります:

あなたのコードは次のように削減されます。

+0

これは「1ミリ秒」ではなく「1秒」で繰り返されます。 – user2004685

関連する問題