我正在尝试制作Java CRUD MVC应用程序。它使用Sqlite数据库。我的一个职能部门并不想工作。在这个函数中,我想准备一个包含一些字符串的PDF文档。当我尝试从分离的类中运行此函数时,一切正常,但是当我将它放入我的MVC应用程序时,它不起作用。
控制台没有显示任何错误,我认为我的功能甚至没有启动。我想这可能是一个参数问题?
以下是controller.java
:
public void generuj(){
akcja = new ActionListener() {
public void actionPerformed(ActionEvent event)
{
String[] args = null;
PDF.main(args);
interfejs.getguzikgeneruj().addActionListener(akcja);
}
};
}
这是Functions.java:
public static void generuj() throws DocumentException{
Document dokument = new Document();
try {
PdfWriter.getInstance(dokument, new FileOutputStream("Arkusz Inwentaryzacyjny.pdf"));
dokument.open();
Paragraph paragraf = new Paragraph();
paragraf.add("Arkusz inwentaryzacyjny");
dokument.add(paragraf);
dokument.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
这是工人阶级:
package model;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class PDF {
public static void main(String[] args){
Document dokument = new Document();
try {
PdfWriter.getInstance(dokument, new FileOutputStream("Arkusz Inwentaryzacyjny.pdf"));
dokument.open();
Paragraph paragraf = new Paragraph();
paragraf.add("Arkusz inwentaryzacyjny");
dokument.add(paragraf);
dokument.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:1)
如果由于应用程序上下文导致您的方法无法打开pdf文档,我至少会重新添加DocumentException的异常处理程序。
这可能是您在控制台上看不到任何内容的原因。
public static void generujp() throws DocumentException {
Document dokument = new Document();
try {
PdfWriter.getInstance(dokument, new FileOutputStream("example.pdf"));
dokument.open();
Paragraph paragraf = new Paragraph();
paragraf.add("Arkusz inwentaryzacyjny");
dokument.add(paragraf);
dokument.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
throw e;
}
}
我也不会在动作中添加动作侦听器。它永远不会被添加。你打算把它放在事件处理程序之外吗?
public void generuj() {
...
akcja = new ActionListener() {
public void actionPerformed( ActionEvent event) {
String[] args = null;
PDF.main(args);
//interfejs.getguzikgeneruj().addActionListener(akcja);
}
};
// new location...
interfejs.getguzikgeneruj().addActionListener(akcja);
}