温馨提示×

如何用java编写一个表格

小亿
117
2023-10-07 13:03:29
栏目: 编程语言

要用Java编写一个表格,可以使用JavaFX库中的TableView类来实现。

首先,你需要在JavaFX应用程序中创建一个Stage和Scene来容纳你的表格。然后,创建一个TableView对象,并将其添加到Scene中。

接下来,你需要定义表格的列。使用TableColumn类来创建列,并将它们添加到TableView中。你可以设置每一列的标题、宽度和数据类型。

然后,你需要创建一个ObservableList对象来保存表格中的数据。ObservableList是JavaFX中的一个可观察列表,可以自动更新表格中的数据。你可以使用FXCollections类的observableArrayList方法来创建一个ObservableList对象。

之后,你需要将数据添加到ObservableList中,并将ObservableList设置为TableView的数据源。你可以使用TableView的setItems方法来设置数据源。

最后,你需要将Stage显示出来,以显示你的表格。

下面是一个示例代码,展示了如何使用JavaFX编写一个简单的表格:

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.stage.Stage;
public class TableViewExample extends Application {
public static class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
@Override
public void start(Stage stage) {
TableView<Person> tableView = new TableView<>();
TableColumn<Person, String> nameColumn = new TableColumn<>("Name");
nameColumn.setCellValueFactory(new PropertyValueFactory<>("name"));
TableColumn<Person, Integer> ageColumn = new TableColumn<>("Age");
ageColumn.setCellValueFactory(new PropertyValueFactory<>("age"));
tableView.getColumns().add(nameColumn);
tableView.getColumns().add(ageColumn);
ObservableList<Person> data = FXCollections.observableArrayList(
new Person("John", 25),
new Person("Jane", 30),
new Person("Bob", 35)
);
tableView.setItems(data);
Scene scene = new Scene(tableView);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}

在这个示例代码中,我们创建了一个TableView对象,并定义了两个列:Name和Age。然后,我们创建了一个ObservableList对象来保存表格中的数据,并将其设置为TableView的数据源。最后,我们将TableView添加到Scene中,并将Scene设置为Stage的内容,然后显示出来。

运行这个示例代码,你将会看到一个简单的表格,其中包含三行数据和两列:Name和Age。你可以根据需要修改代码来适应你的需求,例如添加更多的列或更多的数据。

0