从javaFX

时间:2015-05-13 19:46:42

标签: user-interface matrix javafx

我需要从用户那里获取矩阵。哪个JavaFX功能最有用?网格有(m * n)textFields还是TableView?问题是,很难用可变数量的列表示TableView。

1 个答案:

答案 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);
    }

}

enter image description here

我可能会做一些更好的格式化:)你也可以使用TextField但用括号或其他东西拆分。