Tableview를 채우는 데 문제가 있습니다. 이 코드를 실행하면 내 tableview Observablelist 같은 레코드 수가 있지만 아무것도 볼 수 있습니다.JavaFX observableList로 tableview를 채울 수 없습니다.
아이디어가 있으십니까? 일부는 cellvalueProperty와 유사합니다. 이 예제를 사용할 수 있습니까? 감사.
package SYSSEL;
import java.sql.SQLException;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.stage.Stage;
import java.sql.ResultSet;
import javafx.scene.control.*;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
public class gridOfMessages extends Stage {
private ObservableList messages;
@FXML
private Button buttonCloseGrid;
@FXML
private TableColumn C1;
@FXML
private TableColumn C2;
@FXML
private TableColumn C3;
@FXML
private Button buttonRefreshGrid;
@FXML
private TableView<gridOfMessages> gridOfMessagesList;
@FXML
private void HandlerCloseGrid(ActionEvent event) {
}
@FXML
private void handlerRefreshGrid(ActionEvent event) throws ClassNotFoundException, SQLException {
//Main Scene
ResultSet rq = PdfSorting.checkNewMsgs();
rq.first();
messages=FXCollections.observableArrayList();
while(rq.next()){
//Iterate Row;
ObservableList<String> row = FXCollections.observableArrayList();
row.add(rq.getString("ID_DOCUMENT_ESSL"));
row.add(rq.getString("DOCUMENT_PATH"));
row.add(rq.getString("BAN"));
System.out.println("Row [1] added "+row);
messages.add(row);
}
gridOfMessagesList.setItems(messages);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane id="AnchorPane" minWidth="307.0" prefHeight="506.999977929685" prefWidth="307.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="SYSSEL.gridOfMessages">
<children>
<Button id="ButtonCloseGrid" fx:id="buttonCloseGrid" layoutX="0.0" layoutY="468.0" mnemonicParsing="false" onAction="#HandlerCloseGrid" prefHeight="39.0" prefWidth="147.0" text="Zavřít" />
<Button id="refreshGrid" fx:id="buttonRefreshGrid" layoutX="147.0" layoutY="468.0" mnemonicParsing="false" onAction="#handlerRefreshGrid" prefHeight="39.0" prefWidth="161.0" text="Aktualizovat" />
<TableView fx:id="gridOfMessagesList" layoutX="0.0" layoutY="0.0" prefHeight="468.0" prefWidth="307.0">
<columns>
<TableColumn maxWidth="5000.0" minWidth="10.0" prefWidth="72.0" text="Číslo datovky" fx:id="C1" />
<TableColumn maxWidth="5000.0" minWidth="10.0" prefWidth="147.0" text="Cesta" fx:id="C2" />
<TableColumn maxWidth="5000.0" minWidth="10.0" prefWidth="87.0" text="BAN" fx:id="C3" />
</columns>
</TableView>
</children>
</AnchorPane>
fxml 코드를 추가했습니다. 그럼, tableview ane observable list 형식을 사용하지 않는 것은 어떻습니까? –
나는 그것을 시도하고, 이것 후에? 컨트롤러에 몇 가지를 써야합니까? 감사합니다. –