我有以下创建JTable的方法,然后将其显示为矩形而不是带有页眉和页脚的页面。
public void printModules(){
MessageFormat header = new MessageFormat("Modules " + new Date());
MessageFormat footer = new MessageFormat("Created by Assignments Database");
try {
JTable jtModules = new JTable(new ModulesTableModel(Controller.getInstance().getModules()));
jtModules.setShowHorizontalLines(true);
jtModules.setShowVerticalLines(true);
jtModules.setShowGrid(true);
boolean complete = jtModules.print(JTable.PrintMode.NORMAL, header, footer, true, null, false, null);
if(complete){
System.out.println("Printed");
} else{
System.out.println("Printing Cancelled");
}
} catch (PrinterException e) {
e.printStackTrace();
}
}
还有什么问题?表中的数据是从同一数据创建的数据显示在其中一个面板中。
在我的抽象表模型中,我实现了以下方法:
是否还需要创建其他方法?
答案 0 :(得分:2)
JTable
已缩减support for printing,有关于JTable (inc. code example)和Printing
答案 1 :(得分:2)
您需要显示表格才能进行打印,因此请将其添加到JFrame
,然后frame.setVisible(true);
然后frame.setVisible(false);
这将使它打印。