如何使用JavaGUI打印标签中的for循环
我有一个方法,使用forloop打印学生列表。 我想使用GUI在标签中打印结果。 有人能提供一种在标签上打印的方法吗 这里是方法如何使用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
您可以使用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;
}
}
}