我目前正在制作一个包含一个小数据库的提案程序,它已经过了3天,我仍然无法解决这个问题。我一直在寻找这个问题的答案,但我所看到的只是一个没有JFrame表单的解决方案。(如果我在Netbeans上使用的那些令人困惑的JFrame表单使我的用户界面更容易让我更容易。它是一个用户界面建设者)。回到主题,每次我尝试打印我的面板时,它只打印我面板的JTable,并且不打印其他组件,如标签和文本字段。请看一下我的代码。
public void printComponenet(){
PrinterJob pj = PrinterJob.getPrinterJob();
pj.setJobName(" Print Component ");
pj.setPrintable (new Printable() {
public int print(Graphics pg, PageFormat pf, int pageNum){
if (pageNum > 0){
return Printable.NO_SUCH_PAGE;
}
Graphics2D g2 = (Graphics2D) pg;
AffineTransform originalTransform = g2.getTransform();
double scaleX = pf.getImageableWidth();
double scaleY = pf.getImageableHeight();
double scale = Math.min(scaleX, scaleY);
g2.translate(pf.getImageableX(), pf.getImageableY());
g2.scale(scale, scale);
jPanel9.printAll(g2);
g2.setTransform(originalTransform);
return Printable.PAGE_EXISTS;
}
});
if (pj.printDialog() == false)
return;
try {
pj.print();
} catch (PrinterException ex) {
// handle exception
}
}
以下代码是我点击自定义代码
时显示的代码productTable = new javax.swing.JTable();
productTable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"Catalogue", "XXX", "XXXX", "Total Unit Price"
}
) {
boolean[] canEdit = new boolean [] {
false, false, false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
productTable.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
productTableMousePressed(evt);
}
public void mouseReleased(java.awt.event.MouseEvent evt) {
productTableMouseReleased(evt);
}
});
jScrollPane2.setViewportView(productTable);
if (productTable.getColumnModel().getColumnCount() > 0) {
productTable.getColumnModel().getColumn(0).setResizable(false);
productTable.getColumnModel().getColumn(1).setResizable(false);
productTable.getColumnModel().getColumn(2).setResizable(false);
productTable.getColumnModel().getColumn(3).setResizable(false);
}
我该怎么办这个问题。我希望有人能真正帮助我解决这个问题。我没时间了,我的大脑爆炸了。我很感激每一个帮助。谢谢。