簡體   English   中英

將參數傳遞給實現的方法java

[英]passing arguments to implemented method java

我有一個實現Printable的類。 我正在嘗試以某種方式將文本字段中的值輸入到print方法中,但似乎無法解決該問題。

public class TreePrint extends javax.swing.JFrame implements Printable{

這是用戶選擇要打印的項目時的操作:

private void btnPrintActionPerformed(java.awt.event.ActionEvent evt)                                         
{
    goPrint();  
}

public void goPrint() 
{
    PrinterJob job = PrinterJob.getPrinterJob();
    job.setPrintable(new TreePrint());
   // boolean doPrint = job.printDialog();
    job.print();
}

@Override  
public int print(Graphics g, PageFormat pf, int page) throws PrinterException {  
    Koks koksSelected = (Koks) combobox_skirne.getSelectedItem();  
    System.out.println(combobox_skirne.getSelectedItem());  
    if (page > 0) {  
        return NO_SUCH_PAGE;  
    }  
    System.out.println(koksSelected.getSkirne());    
    return PAGE_EXISTS;  
}

問題是我無法在打印方法中獲得選定的項目或文本值。 我可以在go print或btnPrintActionPerformed中獲取它們,但是在print()中,它始終顯示程序首次運行時所在的選定值。 如果需要,我可以發布更多代碼,但這很長。 我確定這是實現方法的基本問題,但我找不到答案。

這是一個類似的問題(相同嗎?):將參數傳遞給打印方法(JAVA)

如果在創建TreePrint對象時參數可用,則使用此字段添加新的構造函數。 如果不是,請在使用TreePrint的公共方法進行打印之前設置參數。 例:

private TreePrint tp;

public void goPrint() 
{
    ...
    this.tp = new TreePrint();
    job.setPrintable(this.tp);
    ...
}

@Override  
public int print(Graphics g, PageFormat pf, int page) throws PrinterException {  
    ...
    this.tp.setXYZParameters(para1, para2, paraN);
    ...
}

TreePrint示例:

private Integer para1;
private Integer para2;
private Integer paraN;

public void setXYZParameters(...) {...}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM