2016-01-15 37 views
-2

我正在尝试制作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

请让你的标题更具描述你所面对这样其他用户有类似的问题将能够找到它的问题(请记住,堆栈溢出的主要目的是为了编程问题和答案搜索库) – Pshemo

+1

有您尝试使用调试程序逐步执行代码?如果是这样,你发现了什么?如果不是,你还在等什么? – ray

+0

您似乎在'actionPerformed()'期间添加了'ActionListener'。尝试在声明后添加它。 – Turamarth

回答

1

我想至少再添加如果您的方法无法打开pdf文档,则为DocumentException异常处理程序nt由于应用程序上下文。

这可能是您在控制台上看不到任何东西的原因。

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); 
} 
相关问题