作为java中的新手,我想用itext练习一下。到目前为止,我能够使用javafx表单将数据保存为pdf数据。我使用列表在表单中创建了一个表。但是,当我想在itext中创建一个带有observablelist的表时,我被卡住了。有人可以帮助我并解释它为什么起作用吗?
在fxmlDocumentController中,我声明了以下ObservableList。
final ObservableList<ServiceDTO> listServices = FXCollections.observableArrayList();
然后我创建一个actionEvent,我可以看到listservices包含一些东西。
@FXML
private void handleButtonCreateInvoice(ActionEvent event) {
InvoicePrint invoice = new InvoicePrint(listServices);
invoice.CreateInvoicePDF();
}
但是当它到达我的班级InvoicePrint时,它说错误无法从静态上下文访问实例变量。所以我在这里被困住了。有人可以解释一下为什么它不起作用吗?
public InvoicePrint(ObservableList listServices) {
setListServices(listServices);
}
然后我想将observablelist传递给一个方法并获取所有服务数据并使用itext将其存储到一个表中。但是它给了我以下错误:非静态变量listServices无法从静态上下文中引用。
for (ServiceDTO service : listServices) {
table.addCell(service.getDefinition());
table.addCell(service.getPriceExclVat().toString());
table.addCell(service.getVat().toString());
table.addCell(service.getPriceInclVat().toString());
}