0
我一直在努力想弄清楚如何使列表顯示在我的表視圖。因爲它的輸出是我的列表,但是我可以在我通過場景製作器製作的表格中看到它。該表具有相同的fx:id,所以不是這樣。數據顯示正常並且正在編譯,但仍然沒有數據。JavaFX場景生成器表不會填滿使用Java數據庫
public class FXMLDocument_PopulationDatabase_AllieBeckmanController implements Initializable {
@FXML
private ChoiceBox GetBox;
@FXML
private ChoiceBox SortBox;
@FXML
private TableView CityTable;
@FXML
private TableColumn COne;
@FXML
private TableColumn CTwo;
private final ObservableList dta = FXCollections.observableArrayList();
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
try{
// call the driver used to connect to the database
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
// connect to the city data base
Connection c = DriverManager.getConnection("jdbc:derby://localhost:1527/CityDB;create=true", "AllieBeckman", "1122");
// create a statement used to sort through the data in the database
Statement stmt = c.createStatement();
// create a result that will be used to get the data and translate it into variables
ResultSet result = stmt.executeQuery("SELECT * FROM city");
// get number of columns
ResultSetMetaData rsmd = result.getMetaData();
// continue sorting through and translating data until there are no more rows of data
while (result.next()){
// the 25 and 10 stand for two columns each is translated int its respective data type using
// the result set
System.out.println(result.getString("cityname") + result.getDouble("population"));
// adds one column
dta.add(result.getString("cityname"));
}
System.out.println(dta);
CityTable.setItems(dta);
// close the connection
c.close();
}catch(Exception e){
System.out.println("Failed");
System.out.println(e);
}
}
OUTPUT:
Executing C:\Users\Allie\Documents\NetBeansProjects\PopulationDatabase_AllieBeckman\dist\run1111906738\PopulationDatabase_AllieBeckman.jar using platform C:\Users\Allie\Desktop\Programs_and_Components\jdk1.8.0_101\jre/bin/java
New York 8.5505405E7
Los Angeles 3971883.0
Chicago 2720546.0
Huston 2296224.0
Philladelphia 1567442.0
Phoenix 1563025.0
San Antonio 1469845.0
San Diego 1394928.0
Dallas 1300092.0
San Jose 1026908.0
Austin 931830.0
Jacksonville 868031.0
San Francisco 864816.0
Indianapolis 853173.0
Columbus 850106.0
Fort Worth 833319.0
Charlotte 827097.0
Seattle 684451.0
Denver 682545.0
El Paso 681124.0
[New York , Los Angeles , Chicago , Huston , Philladelphia , Phoenix , San Antonio , San Diego , Dallas , San Jose , Austin , Jacksonville , San Francisco , Indianapolis , Columbus , Fort Worth , Charlotte , Seattle , Denver , El Paso ]
Deleting directory C:\Users\Allie\Documents\NetBeansProjects\PopulationDatabase_AllieBeckman\dist\run1111906738
什麼'cellValueFactory' s是否與列使用,你如何可以訪問給定城市的名字人口? – fabian
我正在使用預填充javaDB來獲取值,只是試圖轉移它們。我找到了答案,並開始使用CellValueFactory cellData.getValue從該數據庫拉到TableView列謝謝:) –