Я использую netbeans и у меня есть код для печати jpanel, и он работает нормально. Однако его вывод состоит в том, что он печатает jpanel как изображение. Это не идеально для меня, так как он также печатает блеклый серый цвет на заднем плане, который является размером jpanel. Я только хочу напечатать текст в jpanel, который состоит из многих jlabels. Есть ли способ напечатать содержимое jpanel в виде текста, а не изображения?
Это код, который я использовал для печати содержимого моей jpanel
PrinterJob job = PrinterJob.getPrinterJob();
job.setJobName("jPanel13");
job.setPrintable (new Printable() {
public int print(Graphics pg, PageFormat pf, int pageNum){
if (pageNum > 0){
return Printable.NO_SUCH_PAGE;
}
Graphics2D g2 = (Graphics2D) pg;
g2.translate(pf.getImageableX(), pf.getImageableY());
jPanel13.paint(g2);
return Printable.PAGE_EXISTS;
}
});
boolean ok = job.printDialog();
if (ok) {
try {
job.print();
} catch (PrinterException ex) {
}
Это распечатка jpanel, которую мне нужно распечатать. В моей программе текстовые значения jlabels могут быть изменены пользователем. Затем будут напечатаны тексты jlabels, чтобы заполнить пустые строки формы. Форма уже будет иметь записи на нем; это только пустые строки, которые я буду заполнять при печати. Вот почему важно, чтобы джабели располагались таким образом.
http://i.stack.imgur.com/kPKWe.jpg
