是否可以在javaFx标签中显示字符串格式的表? publicstaticvoidprintDetails(){ //将默认成员名称打印为数组 int i; System.out.println(“”); System.out.printf(“%-20s%-20s%-25s%-25s%-25s%n”、“索引”、“名称”、“会员资格日期”, “会员编号”、“会员类型”); System.out.println(“--------------------------------------------------------------------------------”) 对于(i=0;i

是否可以在javaFx标签中显示字符串格式的表? publicstaticvoidprintDetails(){ //将默认成员名称打印为数组 int i; System.out.println(“”); System.out.printf(“%-20s%-20s%-25s%-25s%-25s%n”、“索引”、“名称”、“会员资格日期”, “会员编号”、“会员类型”); System.out.println(“--------------------------------------------------------------------------------”) 对于(i=0;i,java,javafx,Java,Javafx,是的,可以在javaFx标签中显示字符串格式的表格,但它看起来不太好,正如James_D所说,您应该使用表格视图它看起来会更干净,而且它也会帮助您保持代码更干净,而不是使用4个不同的ArrayLists,最终您将拥有1个ArrayList对象包含它们自己的数据,您可以将这些对象传递到TableView,让它为您处理这些工作 将来/当您为您正在处理的任何内容编写此代码时,您应该将成员身份数据更新为正确的数据类型,例如,您可以将开始日期更改为本地日期,并将数字明显更改为整数 它最终会看起来像这样 p

是的,可以在javaFx标签中显示字符串格式的表格,但它看起来不太好,正如James_D所说,您应该使用
表格视图
它看起来会更干净,而且它也会帮助您保持代码更干净,而不是使用4个不同的
ArrayList
s,最终您将拥有1个
ArrayList
对象包含它们自己的数据,您可以将这些对象传递到
TableView
,让它为您处理这些工作

将来/当您为您正在处理的任何内容编写此代码时,您应该将
成员身份数据
更新为正确的数据类型,例如,您可以将
开始日期
更改为
本地日期
,并将数字明显更改为
整数

它最终会看起来像这样

public static void printDetails() {
    //PRINTING DEFAULT MEMBERS NAMES AS AN ARRAY

    int i;
    System.out.println ("  ");
    System.out.printf ("%-20s%-20s%-25s%-25s%-25s%n", "Index", "Name", "membershipDate",
            "membershipNumber","member type");
    System.out.println("------------------------------------------------------------")

    for (i = 0; i < defaultNames.size (); i++) {
        System.out.format ("%-20s%-20s%-25s%-25s%-25s%n", i + 1, defaultNames.get (I),
                defaultMembershipDate.get (i), defaultMembershipNumber.get (i),defaultMemberType.get (i));
    }


}

为什么?为什么不在
表视图中显示它?但是,当然,您可以这样做:只需将所有这些内容连接成一个带有换行符的
字符串
,并将其设置为标签的文本。您可能还希望将标签的字体设置为单间距字体。您可能还希望考虑创建成员身份对象,以便更轻松地跟踪所有成员身份data@James_D感谢您的回复。我制作了4个ArrayList,您能告诉我如何将用户内容添加到表中吗?@James_D/----存储用户的数组列表输入----------静态ArrayList defaultNames=new ArrayList();静态ArrayList defaultMembershipNumber=新ArrayList();静态ArrayList defaultMembershipDate=新ArrayList();静态ArrayList defaultMemberType=新ArrayList();正如@Matt所说,创建一个类来表示表中的每一行,然后完全按照中的操作,或者查看您想要的
TableView
,列应该是
TableColumn
(或者
Number
LocalDate
作为第二个参数,视情况而定)…是的,你对
表格视图
表格列
的权利,至于其他一切,这更像是一个让他开始的例子,这就是为什么它是编码的,但我应该在帖子中提到,这是我的不好
public class Main extends Application {

    @Override
    public void start(Stage stage) {
        ArrayList<MembershipData> membershipDataArrayList = new ArrayList<>();
        for (int i = 1; i < 5; i++) {
            String letter = String.valueOf((char) (i + 64));
            membershipDataArrayList.add(new MembershipData(letter, ""+i+i+i, ""+i+i+i, letter));
        }

        showDetails(membershipDataArrayList);
    }

    public void showDetails(ArrayList<MembershipData> membershipDataArrayList) {

        System.out.println ("  ");
        System.out.printf ("%-20s%-20s%-25s%-25s%-25s%n", "Index", "Name", "membershipDate",
                "membershipNumber","member type");
        System.out.println("------------------------------------------------------------");

        int i = 0;
        for (MembershipData membershipData : membershipDataArrayList) {
            System.out.format ("%-20s%-20s%-25s%-25s%-25s%n", i++, membershipData.getName(),
                    membershipData.getStartDate(), membershipData.getNumber() ,membershipData.getType());
        }

        TableColumn<MembershipData, String> column1 = new TableColumn<>("Name");
        column1.setCellValueFactory(new PropertyValueFactory<>("name"));

        TableColumn<MembershipData, String> column2 = new TableColumn<>("MemberShip Date");
        column2.setCellValueFactory(new PropertyValueFactory<>("startDate"));

        TableColumn<MembershipData, String> column3 = new TableColumn<>("MemberShip Number");
        column3.setCellValueFactory(new PropertyValueFactory<>("number"));

        TableColumn<MembershipData, String> column4 = new TableColumn<>("MemberShip Type");
        column4.setCellValueFactory(new PropertyValueFactory<>("type"));

        TableView<MembershipData> tableView = new TableView<>();
        tableView.getColumns().addAll(column1, column2, column3, column4);

        tableView.getItems().addAll(membershipDataArrayList);

        VBox vBox = new VBox(tableView);
        vBox.setAlignment(Pos.CENTER);

        Stage stage  = new Stage();
        stage.setWidth(475);
        stage.setScene(new Scene(vBox));
        stage.show();
    }
}
public class MembershipData{
    private final String name;
    private final String startDate;
    private final String number;
    private final String type;

    public MembershipData(String name, String startDate, String number, String type){
        this.name = name;
        this.startDate = startDate;
        this.number = number;
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public String getStartDate() {
        return startDate;
    }

    public String getNumber() {
        return number;
    }

    public String getType() {
        return type;
    }
}