sportingt2007
Grünschnabel
Hallo,
möchte den Inhalt einer JTextArea auf einem Drucker ausgeben.
Nutze dazu die Klasse Graphics2D. Vom Grundprinzip funktioniert das auch schon recht gut (!?).
Ich habe jetzt nur ein Problem mit dem Hintergrung. Beim ersten Ausdruck ist der gesamte Hintergrung in größe des Formats schwarz, Nur im Bereich der Textarea
ist der Hintergrund weiß.
Wenn ich den Druck wiederhole, ist dann alles weiß !?
Irgendwie scheint da noch der Wurm drin! Bitte um schnelle Hilfe.
mfg
sportingt2007
möchte den Inhalt einer JTextArea auf einem Drucker ausgeben.
Nutze dazu die Klasse Graphics2D. Vom Grundprinzip funktioniert das auch schon recht gut (!?).
Ich habe jetzt nur ein Problem mit dem Hintergrung. Beim ersten Ausdruck ist der gesamte Hintergrung in größe des Formats schwarz, Nur im Bereich der Textarea
ist der Hintergrund weiß.
Wenn ich den Druck wiederhole, ist dann alles weiß !?
Irgendwie scheint da noch der Wurm drin! Bitte um schnelle Hilfe.
mfg
sportingt2007
Code:
/*
* akPrint.java
*
* Created on 10. September 2007, 13:18
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package akprintlabel;
import java.awt.print.*;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
/**
*
* @author TKott
*/
public class akPrint implements Printable{
public JTextArea area;
public PageFormat pageFormat;
public Dimension pageDim;
public BufferedImage bufimg;
public akPrint(JTextArea area) throws PrinterException {
this.area = area;
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(this);
job.print();
}
public int print(Graphics g, PageFormat pFormat, int pageIndex)throws PrinterException {
if (pageIndex > 0)
return Printable.NO_SUCH_PAGE;
pageFormat = new PageFormat();
pageDim = new Dimension((int)pageFormat.getImageableWidth(),(int)pageFormat.getImageableHeight());
area.setPreferredSize(pageDim);
Graphics2D g2d = (Graphics2D)g;
g2d.translate(pFormat.getImageableX(), pFormat.getImageableY());
bufimg = null;
bufimg = new BufferedImage(pageDim.width,pageDim.height,BufferedImage.TYPE_BYTE_GRAY);
area.paint(bufimg.getGraphics());
g2d.drawImage(bufimg,0,0,area);
g2d.dispose();
return Printable.PAGE_EXISTS;
}
}