[英]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.