나는 FXML로 만든 열 부부와의 TableView 있습니다오브젝트를 JavaFX TableView에 표시하기 위해 문자열로 변환하는 방법은 어떻게 지정합니까?
<TableView fx:id="logTable" BorderPane.alignment="CENTER">
<columns>
<TableColumn fx:id="timestampColumn" editable="false" text="Timestamp">
<cellValueFactory>
<PropertyValueFactory property="timestamp"/>
</cellValueFactory>
</TableColumn>
<TableColumn fx:id="actionColumn" editable="false" text="Action">
<cellValueFactory>
<PropertyValueFactory property="action"/>
</cellValueFactory>
</TableColumn>
</columns>
</TableView>
그때 객체는 다음과 같이 정의
:
다음의 TableView의 모델로 설정private ObservableList<LogEntry> log = FXCollections.observableArrayList();
LogEntries
logTable.setItems(log);
는 다음과 같다 :
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import org.joda.time.DateTime;
public class LogEntry {
private SimpleObjectProperty<DateTime> timestamp = new SimpleObjectProperty<>();
private SimpleStringProperty action = new SimpleStringProperty();
public LogEntry(String format, Object... args) {
this.timestamp.setValue(new DateTime());
String s = String.format(format, args);
System.out.println(s);
this.action.setValue(s);
}
public DateTime getTimestamp() {
return timestamp.getValue();
}
public String getAction() {
return action.getValue();
}
}
제 질문은 조다 타임 타임 스탬프를 표시하기 위해 문자열로 변환하는 방법을 어떻게 지정합니까? 현재 로케일을 사용하여 변환하려고합니다 (그러나 여전히 작동하도록 해당 열을 정렬하고 싶습니다).
에게 OT를 업데이트하는 세포 공장을 사용 : 당신이 자바 7에 연결하거나 여기에 몇 가지 다른 이유로 Joda 시간을 사용하도록 강요하고 있는가? Java 8 시간 API는 기본적으로 Joda Time을 중복시킵니다 (Joda Time에 매우 많이 기반하며 API는 매우 유사합니다). [Joda Time 홈페이지] (http://www.joda.org/joda-time/)는 실제로 다음과 같이 말합니다 : ** "Java SE 8부터는 사용자가 java.time (JSR-310) -이 프로젝트를 대체하는 JDK의 핵심 부분입니다. "** –
@James_D : 저는 실제로 Java 8을 사용하고 있습니다. Java 8에 대해서는 잘 모릅니다. 나는 그것을 조사해야 할 것이다. 고맙습니다. – Pablo
@Pablo * java.time *을 정의하는 [JSR 310] (https://jcp.org/en/jsr/detail?id=310) 프로젝트는 * Joda-Time *, [Stephen Colebourne] (https://stackoverflow.com/users/38896/jodastephen). * java.time * 클래스는 배운 교훈을 사용하여 * Joda-Time *을 처음부터 다시 작성합니다. –