即使打印数据,JavaFX SQLite TableView也不会填充。
JavaFX是一个用于创建富客户端应用程序的开发工具包,它提供了丰富的图形界面组件和功能。SQLite是一种轻量级的嵌入式数据库引擎,它可以在本地存储和管理数据。
TableView是JavaFX中的一个表格视图控件,用于显示和编辑表格数据。它可以通过设置数据模型来填充数据,并且支持各种自定义和交互操作。
然而,JavaFX的TableView并不直接支持与SQLite数据库的集成。要在JavaFX中使用SQLite填充TableView,您需要执行以下步骤:
以下是一个简单的示例代码,演示如何在JavaFX中使用SQLite填充TableView:
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;
import java.sql.*;
public class SQLiteTableViewExample extends Application {
private static final String DB_URL = "jdbc:sqlite:/path/to/database.db";
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
TableView<Person> tableView = new TableView<>();
ObservableList<Person> data = FXCollections.observableArrayList();
try (Connection conn = DriverManager.getConnection(DB_URL);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM person")) {
while (rs.next()) {
String name = rs.getString("name");
int age = rs.getInt("age");
data.add(new Person(name, age));
}
} catch (SQLException e) {
e.printStackTrace();
}
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().addAll(nameColumn, ageColumn);
tableView.setItems(data);
primaryStage.setScene(new Scene(tableView));
primaryStage.show();
}
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;
}
}
}
在上述示例中,我们创建了一个名为Person的简单Java对象,用于存储从SQLite数据库中检索的数据。然后,我们使用Java的JDBC API连接到SQLite数据库,并执行SELECT语句来检索person表中的数据。最后,我们将查询结果转换为ObservableList,并将其设置为TableView的数据模型。
请注意,这只是一个简单的示例,用于演示如何在JavaFX中使用SQLite填充TableView。在实际应用中,您可能需要更复杂的查询和数据处理逻辑。
推荐的腾讯云相关产品:腾讯云数据库SQL Server版、腾讯云数据库MySQL版、腾讯云数据库PostgreSQL版等。您可以通过访问腾讯云官方网站获取更多关于这些产品的详细信息和文档。
腾讯云数据库SQL Server版:https://cloud.tencent.com/product/cdb_sqlserver
腾讯云数据库MySQL版:https://cloud.tencent.com/product/cdb_mysql
腾讯云数据库PostgreSQL版:https://cloud.tencent.com/product/cdb_postgresql
领取专属 10元无门槛券
手把手带您无忧上云