0
public class AplotPdfPrintLocal extends ApplicationWindow {
private String userSelectedFile;

public AplotPdfPrintLocal(String pdfFilePath) {
   super(null);
   this.userSelectedFile = pdfFilePath;
}

public void run() {
   setBlockOnOpen(true);
   open();
   Display.getCurrent().dispose();
}

etc........

我想从 B 类执行上述类

方法是 B 类 - 下面

public void startPDFPrint() throws Exception {
      AplotPdfPrintLocal pdfPrint = new AplotPdfPrintLocal(getPDFFileName()).run();
}

我收到一个错误,我需要将 run 的返回类型从 void 更改为 plotPdfPrintLocal

我是不是要叫错班级?

4

1 回答 1

4

将其更改为:

public void startPDFPrint() throws Exception {
      AplotPdfPrintLocal pdfPrint = new AplotPdfPrintLocal(getPDFFileName());
      pdfPrint.run();
}

或者

public void startPDFPrint() throws Exception {
      new AplotPdfPrintLocal(getPDFFileName()).run();
}

编译器的意思是您试图将运行方法(void)的结果分配给表达式的左成员,即AplotPdfPrintLocal pdfPrint变量。

因此,由于run是“返回” void,因此存在错误,预期AplotPdfPrintLocal类型(在左侧声明)与实际返回类型:void之间存在差异。

于 2012-11-12T22:50:26.363 回答