控制器不调用内部功能

时间:2016-01-15 22:17:47

标签: java parameters itext

我正在尝试制作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();
    }

    }
}

1 个答案:

答案 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);   
}