MessageFormat header = null;
if (this.headerBox.isSelected())
{
header = new MessageFormat(gradesLabel.toString());
}
MessageFormat footer = null;
if (this.footerBox.isSelected())
{
footer = new MessageFormat(this.footerField.getText());
}
boolean fitWidth = this.fitWidthBox.isSelected();
boolean showPrintDialog = this.showPrintDialogBox.isSelected();
boolean interactive = this.interactiveBox.isSelected();
JTable.PrintMode mode = fitWidth ? JTable.PrintMode.FIT_WIDTH :
JTable.PrintMode.NORMAL;
try
{
boolean complete = this.gradesTable.print(mode, header, footer,
showPrintDialog, null,
interactive, null);
if (complete)
{
JOptionPane.showMessageDialog(this,
"Printing Complete",
"Printing Result",
1);
}
else
JOptionPane.showMessageDialog(this,
"Printing Cancelled",
"Printing Result",
1);
}
catch (PrinterException pe)
{
JOptionPane.showMessageDialog(this,
"Printing Failed: " + pe.getMessage(),
"Printing Result",
0);
}
Eigentlich ist das jtable Objekt verfügt über eine Methode, die print() menthod ist, die verwendet wird, passieren die Kopf- und Fußzeile als Parameter zum Drucken Hier HeaderBox ist JCheckbox welche ich in meinem Programm erstellt habe und auch hier sind einige Jlabels auch da. Wenn Sie das nicht benötigen, entfernen Sie diese aus diesem Code und führen Sie das Programm
Gemäß den Richtlinien sollten Sie CamelCase anstelle von _: tableModel und columnNames verwenden. Siehe http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html – Fortega