2009-08-15 3 views

답변

1

또는, java.util.Formatter에서 플래그를 사용할 수 있습니다.

이렇게하면 "02.03"과 같이 dur = "123402ms"의 앞에 0이 표시됩니다.

0

Duration을 String.valueOf (dur)를 사용하여 String으로 변환 할 수 있습니다. 그런 다음 Java 형식화 클래스를 사용하여 문자열을 재 형식화 할 수 있습니다. JavaFX가 길이를 문자열 (예 : '123402.0ms')로 형식화하는 방식 때문에 String의 끝을 잘라야합니다. JavaFX에 Long.valueOf (dur) 함수가 있으면이 방법이 더 쉬울 것입니다. 아래

참조 샘플 :

import javafx.stage.Stage; 
import javafx.scene.Scene; 
import javafx.scene.text.Text; 
import javafx.scene.text.Font; 
import javafx.scene.control.Button; 
import java.text.SimpleDateFormat; 
import java.util.Date; 

var fmt = new SimpleDateFormat("m:ss"); 
var dur: Duration = 123402ms; 
var txt: String = String.valueOf(dur); 

Stage { 
    title : "Duration Switch" 
    scene: Scene { 
     width: 400 
     height: 200 
     content: [ 
      Text { 
       font : Font { 
        size: 24 
       } 
       x: 10, y: 30 
       content: bind "Duration={txt}" 
      }, 
      Button { 
       translateY: 140 
       text: "Switch" 
       action: function() { 
        var durStr = String.valueOf(dur); 
        durStr = durStr.substring(0, durStr.indexOf(".")); 
        var date = new Date(Long.parseLong(durStr)); 
        txt = fmt.format(date); 
       } 
      } 
     ] 
    } 
}