我需要从用户那里获取矩阵。哪个JavaFX功能最有用?网格有(m * n)textFields还是TableView?问题是,很难用可变数量的列表示TableView。
答案 0 :(得分:0)
我使用的是TextArea
public class Matrix extends Application {
@Override
public void start(Stage primaryStage) {
TextArea txt = new TextArea();
GridPane grid = new GridPane();
grid.setGridLinesVisible(true);
txt.setOnKeyReleased(t-> {
int i = 0;
String[] rows = txt.getText().split("\n");
for (String row: rows){
String[] cols = row.split("\\s+");
int j = 0;
for (String col : cols)
grid.add(new Text(col), j++, i);
i++;
}
});
VBox root = new VBox(txt, grid);
Scene scene = new Scene(root, 300, 250);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
我可能会做一些更好的格式化:)你也可以使用TextField但用括号或其他东西拆分。