如何将fxml
实例转换为import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import java.io.IOException;
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws IOException {
FXMLLoader loader = new FXMLLoader(getClass().getClassLoader().getResource("fxml/Environment.fxml"));
Parent root = loader.load();
Scene scene = new Scene(root,800,800);
primaryStage.setScene(scene);
primaryStage.show();
}
}
实例?
java.time.temporal.Temporal
我看过Oracle's legacy time trail documentation,但找不到合适的解决方案。
答案 0 :(得分:5)
我强烈建议不要提及对(通用)界面java.time.temporal.Temporal
的任何引用,只需这样做:
java.util.Date some = java.util.Date.from(Instant.now());
使用界面Temporal
几乎就像使用java.lang.Object
一样。你应该尽可能具体(特别是在日期和时间的背景下)。甚至JSR-310-API officially outputs a warning:
此接口是不应该的框架级接口 广泛用于应用程序代码。相反,应用程序应该创建 并传递具体类型的实例,例如LocalDate。那里 有很多原因,其中一部分是实现 此界面可能位于ISO以外的日历系统中。看到 ChronoLocalDate可以更全面地讨论这些问题。
答案 1 :(得分:-1)
在底部有:
尽管java.time.format.DateTimeFormatter提供了一种强大的日期和时间值格式化机制,但您也可以使用java.util.Formatter和String.format直接使用基于java.time时间的类。与java.util日期和时间类一起使用的基于模式的格式。
看起来您可能希望使用DateTimeFormatter类,documentation here并且可能会使用类似这样的示例:
LocalDate date = LocalDate.now();
String text = date.format(formatter);
LocalDate parsedDate = LocalDate.parse(text, formatter);
答案 2 :(得分:-1)
我认为你这个问题有点错误。相反,我相信你想要我如何转换任何java.time具体类,例如Instant,LocalDate,使用通用接口进入日期。 TemporalAccessor
我相信是界面。
@Test
public void convertTemportalAccessorTypeToDate() throws Exception {
Instant instant = Instant.now();
Date expected = Date.from( instant );
TemporalAccessor now = instant;
long nanos = now.getLong( ChronoField.NANO_OF_SECOND );
long epochSeconds = now.getLong( ChronoField.INSTANT_SECONDS );
Date date1 = Date.from( Instant.ofEpochSecond( epochSeconds, nanos ) );
assertThat( date1, is( expected ));
}
说,具体类型实际上必须支持ChronoField
,如果没有,似乎抛出UnsupportedTemporalTypeException
,所以也许包裹在try catch中。