首先,我将解释我的目标。我想渲染一个像这样的表格:
每个单元格的内容在执行时间中确定,但其大小固定为 13x13。
因此,我的方法是创建一个平铺窗格,将列数设置为 13 并创建单元格。
pane = new TilePane();
pane.setPadding(new Insets(10, 10, 10, 10));
pane.setVgap(5);
pane.setHgap(5);
pane.setPrefColumns(13);
Run Code Online (Sandbox Code Playgroud)
这有效:
但是当我调整窗口大小时:
现在已经有13栏了!
我的测试代码:
package sample;
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.Region;
import javafx.scene.layout.TilePane;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
TilePane pane = new TilePane();
pane.setPadding(new Insets(10, 10, 10, 10));
pane.setVgap(5);
pane.setHgap(5);
pane.setPrefColumns(13);
pane.setMaxWidth(Region.USE_PREF_SIZE);
ObservableList<Node> list = pane.getChildren();
for (int i = 0;i < …Run Code Online (Sandbox Code Playgroud) 将字符串解析为localdatetime时,我遇到一个奇怪的问题
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String args[])
{
DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_TIME;
LocalDateTime.parse("00:00",formatter);
}
}
Run Code Online (Sandbox Code Playgroud)
给我吗:
Exception in thread "main" java.time.format.DateTimeParseException: Text '00:00' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 00:00 of type java.time.format.Parsed
at java.time.format.DateTimeFormatter.createError(Unknown Source)
at java.time.format.DateTimeFormatter.parse(Unknown Source)
at java.time.LocalDateTime.parse(Unknown Source)
at Main.main(Main.java:9)
Caused by: java.time.DateTimeException: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 00:00 of type java.time.format.Parsed
at java.time.LocalDateTime.from(Unknown Source)
at java.time.format.Parsed.query(Unknown Source) …Run Code Online (Sandbox Code Playgroud)