Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaGUI打印标签中的for循环_Java_Loops_User Interface - Fatal编程技术网

如何使用JavaGUI打印标签中的for循环

如何使用JavaGUI打印标签中的for循环,java,loops,user-interface,Java,Loops,User Interface,我有一个方法,使用forloop打印学生列表。 我想使用GUI在标签中打印结果。 有人能提供一种在标签上打印的方法吗 这里是方法 您可以使用JavaFX显示有关学生的信息。这是一个快速的例子。如果愿意,您可以使用另一个JavaFX组件标签TreeView。我更喜欢使用TableView来显示项目的信息 例如: package com.javafxbook; import javafx.application.Application; import javafx.scene.Scene; imp

我有一个方法,使用forloop打印学生列表。 我想使用GUI在标签中打印结果。 有人能提供一种在标签上打印的方法吗 这里是方法


您可以使用JavaFX显示有关学生的信息。这是一个快速的例子。如果愿意,您可以使用另一个JavaFX组件标签TreeView。我更喜欢使用TableView来显示项目的信息

例如:

package com.javafxbook;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.stage.Stage;

import java.util.Arrays;
import java.util.List;

public class ShowGUI extends Application {

    public static void main(String[] args) {
        Application.launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        List<Student> students = initStudents();
        Scene scene = new Scene(initTable(students), 600, 800);
        primaryStage.setScene(scene);
        primaryStage.setTitle("Students");
        primaryStage.show();
    }

    private TableView initTable(List<Student> students) {
        TableView tableView = new TableView();
        tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
        initTableColumns(tableView);
        tableView.getItems().addAll(students);

        return tableView;
    }

    private void initTableColumns(TableView tableView) {
        TableColumn<String, Student> nameColumn = new TableColumn<>("Name");
        nameColumn.setCellValueFactory(new PropertyValueFactory<>("name"));

        TableColumn<String, Student> idColumn = new TableColumn<>("Id");
        idColumn.setCellValueFactory(new PropertyValueFactory<>("ID"));

        TableColumn<String, Student> gpaColumn = new TableColumn<>("GPA");
        gpaColumn.setCellValueFactory(new PropertyValueFactory<>("GPA"));

        tableView.getColumns().add(nameColumn);
        tableView.getColumns().add(idColumn);
        tableView.getColumns().add(gpaColumn);
    }

    private List<Student> initStudents() {
        return Arrays.asList(new Student("First", "1", "GPA_1"),
                new Student("Second", "2", "GPA_2"),
                new Student("Third", "3", "GPA_3"));
    }

    public class Student {
        private String name;
        private String ID;
        private String GPA;

        public Student(String name, String ID, String GPA) {
            this.name = name;
            this.ID = ID;
            this.GPA = GPA;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getID() {
            return ID;
        }

        public void setID(String ID) {
            this.ID = ID;
        }

        public String getGPA() {
            return GPA;
        }

        public void setGPA(String GPA) {
            this.GPA = GPA;
        }
    }

}

结果将是:

这完全取决于您正在使用的库以及其中的Swing、您正在使用的类和内容以及它所处的环境。请先尝试为通用GUI编写代码,然后再次询问此问题。是否可以让用户输入变量而不是给静态值?您是否可以更具体一些?在您编写的代码中,您编写了此私有列表{return Arrays.asListnew StudentFirst,1,GPA_1,new StudentSecond,2,GPA_2,new StudentThird,3,GPA_3;}但是我希望能够扫描我刚刚创建了一个用户列表的用户的值。您可以通过initTableList students方法传递数据库中的任何列表、HTTP请求等
package com.javafxbook;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.stage.Stage;

import java.util.Arrays;
import java.util.List;

public class ShowGUI extends Application {

    public static void main(String[] args) {
        Application.launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        List<Student> students = initStudents();
        Scene scene = new Scene(initTable(students), 600, 800);
        primaryStage.setScene(scene);
        primaryStage.setTitle("Students");
        primaryStage.show();
    }

    private TableView initTable(List<Student> students) {
        TableView tableView = new TableView();
        tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
        initTableColumns(tableView);
        tableView.getItems().addAll(students);

        return tableView;
    }

    private void initTableColumns(TableView tableView) {
        TableColumn<String, Student> nameColumn = new TableColumn<>("Name");
        nameColumn.setCellValueFactory(new PropertyValueFactory<>("name"));

        TableColumn<String, Student> idColumn = new TableColumn<>("Id");
        idColumn.setCellValueFactory(new PropertyValueFactory<>("ID"));

        TableColumn<String, Student> gpaColumn = new TableColumn<>("GPA");
        gpaColumn.setCellValueFactory(new PropertyValueFactory<>("GPA"));

        tableView.getColumns().add(nameColumn);
        tableView.getColumns().add(idColumn);
        tableView.getColumns().add(gpaColumn);
    }

    private List<Student> initStudents() {
        return Arrays.asList(new Student("First", "1", "GPA_1"),
                new Student("Second", "2", "GPA_2"),
                new Student("Third", "3", "GPA_3"));
    }

    public class Student {
        private String name;
        private String ID;
        private String GPA;

        public Student(String name, String ID, String GPA) {
            this.name = name;
            this.ID = ID;
            this.GPA = GPA;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getID() {
            return ID;
        }

        public void setID(String ID) {
            this.ID = ID;
        }

        public String getGPA() {
            return GPA;
        }

        public void setGPA(String GPA) {
            this.GPA = GPA;
        }
    }

}