我想在其中打印一个包含两个内容的JFrame。
我有一个Jtable,其中可能有多达500行,我需要能够打印所有这些。 我在Jframe中的JTable下有一个JTextfield。 我想同时打印这两个。我遇到的问题是当我打印jtable时它只打印可见部分。我真正关心的是JTable的内容,而不是表本身。
编辑:我使用Netbeans构建我的Gui,所以我真的不知道如何显示Panel,Table和TextFields的代码。
PrinterJob PJ = PrinterJob.getPrinterJob();
PJ.setPrintable(this);
boolean doPrint = PJ.printDialog();
JOptionPane.showMessageDialog(null, doPrint);
if(doPrint){
try {
PJ.print();
} catch (PrinterException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
}
}
我在这里有打印方法
public int print(Graphics g, PageFormat format, int page_index) throws PrinterException {
if (page_index > 0) {
return Printable.NO_SUCH_PAGE;
}
// get the bounds of the component
Dimension dim = this.getSize();
double cHeight = dim.getHeight();
double cWidth = dim.getWidth();
// get the bounds of the printable area
double pHeight = format.getImageableHeight();
double pWidth = format.getImageableWidth();
double pXStart = format.getImageableX();
double pYStart = format.getImageableY();
double xRatio = pWidth / cWidth;
double yRatio = pHeight / cHeight;
Graphics2D g2 = (Graphics2D) g;
g2.translate(pXStart, pYStart);
g2.scale(xRatio, yRatio);
this.paint(g);
this.print(g);
return (Printable.PAGE_EXISTS);
}
现在,当我使用这段代码时,它会给我完整的帧图像,也只给出了分析的jtable ..
1.我想要的是如何省略按钮
2.将我的jlables,jTextFields和我的Jtable打印在同一页面上,因为它将是一个商店... 现在,当我使用 jtable.print(); 时,它只显示页面上的jtable ..其他JComponents的相似结果 任何帮助..我可以这样做吗