Я использую netbeans, и у меня есть код для печати jpanel, и он отлично работает. Однако его вывод заключается в том, что он печатает jpanel в качестве изображения. Это не идеально для меня, поскольку оно также печатает выцветший серый цвет в фоновом режиме, который является размером jpanel. Я хочу только напечатать текст в jpanel, который состоит из многих jlabels. Есть ли способ распечатать содержимое jpanel как текст, а не изображение?Как распечатать содержимое 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) {
}
Это PrintScreen из JPanel, что мне нужно напечатать. В моей программе текстовые значения jlabels могут быть изменены пользователем. Затем тексты jlabels будут напечатаны, чтобы заполнить пустые строки формой. Форма уже будет писать на нем; это только пустые строки, которые я буду заполнять при печати. Вот почему важно, чтобы jlabels располагались таким образом.
http://i.stack.imgur.com/kPKWe.jpg
Можете ли вы показать нам образ этого JPanel, чтобы дать нам представление о том, что вы пытаетесь сделать? –
спасибо, что ответили, я только что редактировал мой пост – meebee
Я отредактировал ваш оригинальный вопрос и загрузил ваше изображение, чтобы оно отображалось без участия людей на другом сайте. Сам, если бы мне пришлось решить эту проблему, я бы искал библиотеку создания форм, потому что я уверен, что она была создана для решения такой проблемы, так что мне не пришлось бы пытаться создать kludge решение с использованием графического интерфейса пользователя таким образом, чтобы он не был построен для использования. –