Hallo Gemeinde,
ich erstelle ein Panel, auf dem später ausdruckbare Inhalte abgebildet werden.
Im Maßstab 1:1 ist dass jedoch zu klein.
Solange ich mein Panel ohne AffineTransform zeichnen lasse sieht es gut aus, aber es ist zu klein.
Wenn ich AffineTransform in den Code schreibe, wird das erste Panel wie gewünscht gezeichnet, aber die folgenden nicht.
Die folgenden Panels werden nämlich überhaupt nicht gezeichnet.
Wer kann mir helfen?
Danke im Voraus.
ich erstelle ein Panel, auf dem später ausdruckbare Inhalte abgebildet werden.
Im Maßstab 1:1 ist dass jedoch zu klein.
Solange ich mein Panel ohne AffineTransform zeichnen lasse sieht es gut aus, aber es ist zu klein.
Wenn ich AffineTransform in den Code schreibe, wird das erste Panel wie gewünscht gezeichnet, aber die folgenden nicht.
Die folgenden Panels werden nämlich überhaupt nicht gezeichnet.
Wer kann mir helfen?
Danke im Voraus.
Code:
package _Printing;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.Stroke;
import java.awt.geom.AffineTransform;
import javax.swing.JPanel;
import _Investigation.InvestigationReportData;
import _Pol649.CollectionController;
import _Pol649.PropertyData;
import _Pol649.ReportData;
/**
* This class will be used by all form sheets that will display The class
* displays the report data on an panel and checks if the first or one of the
* following sides are to use
*
* @author thomaslorenz
*
*/
public class PrintPanel extends JPanel {
/**
*
*/
private static final long serialVersionUID = 1L;
Font fontHead = new Font("Helvetia", Font.PLAIN, 15);
Font fontTwoHead = new Font("Helvetia", Font.PLAIN, 11);
Font fontFoot = new Font("Helvetia", Font.PLAIN, 6);
Font fontOneBold = new Font("Helvetia", Font.BOLD, 9);
Font fontSide = new Font("Helvetia", Font.PLAIN, 9);
Font fontNormal_1 = new Font("Helvetia", Font.PLAIN, 10);
Font font = new Font("Helvetia", Font.PLAIN, 10);
Font fontOne = new Font("Helvetia", Font.PLAIN, 9);
Font fontCopy = new Font("Helvetia", Font.BOLD, 34);
/*
* Hier ein boolean, der bestimmt, ob es sich um einen aktuell geöffneten,
* oder aus der Recherche hervorgegangenden Vorgang handelt Die Parameter
* wird in der Klasse 'PrintDocumentDataHelper gesetzt
*/
public static boolean actual = true;
public int side = 0; // Der Parameter der von dem entsprechenden Panel
// verwendet wird
// Konstruktor
public PrintPanel(int side) {
super();
this.side = side;
setBackground(Color.white);
setPreferredSize(new Dimension(595, 842));
}
/**
* Repaint the panel
*
*/
public void mustPaint() {
super.repaint();
}
/**
* Paint the panel
*
*/
public void paintComponent(Graphics u) {
super.paintComponent(u);
Graphics2D g = (Graphics2D) u;
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
AffineTransform tx = new AffineTransform();
tx.scale( 1.4,1.4);
g.setTransform( tx );
drawPanel(g);
}
/**
* Draws the report data to the panel
*
* @param g
*/
public void drawPanel(Graphics2D g) {
g.setColor(Color.black);
g.setFont(fontHead);
MissionStringObj mission = new MissionStringObj();
mission.checkPrintData();
// **************************************
// Hier beginnt die Bearbeitung der ersten Seite
// Diese unterscheidet sich grundlegend von den
// folgenden Seiten was den Aufbau betrifft
if (this.side == 1) {
g.setFont(fontHead);
// Überschrift
g.drawString("Einsatzdokumentation des Streifendienstes",
getPoints(54), getPoints(10));
g.setFont(font);
// Rechtecke für die Streifenart
// FuwED
g.drawString("FuwED", getPoints(19), getPoints(23));
g.drawLine(getPoints(13), getPoints(19), getPoints(17),
getPoints(19));
g.drawLine(getPoints(13), getPoints(23), getPoints(17),
getPoints(23));
g.drawLine(getPoints(13), getPoints(19), getPoints(13),
getPoints(23));
g.drawLine(getPoints(17), getPoints(19), getPoints(17),
getPoints(23));
g.drawLine(getPoints(17), getPoints(19), getPoints(17),
getPoints(19));
// motStrD
g.drawString("motStrD in", getPoints(47), getPoints(23));
g.drawString("Zivil /", getPoints(47), getPoints(28));
g.drawString("Uniform*", getPoints(47), getPoints(33));
g.drawLine(getPoints(41), getPoints(19), getPoints(45),
getPoints(19));
g.drawLine(getPoints(41), getPoints(23), getPoints(45),
getPoints(23));
g.drawLine(getPoints(41), getPoints(19), getPoints(41),
getPoints(23));
g.drawLine(getPoints(45), getPoints(19), getPoints(45),
getPoints(23));
g.drawLine(getPoints(45), getPoints(19), getPoints(45),
getPoints(19));
// StrD VB
g.drawString("StrD VB", getPoints(79), getPoints(23));
g.drawString("EuATr*", getPoints(79), getPoints(28));
g.drawLine(getPoints(73), getPoints(19), getPoints(77),
getPoints(19));
g.drawLine(getPoints(73), getPoints(23), getPoints(77),
getPoints(23));
g.drawLine(getPoints(73), getPoints(19), getPoints(73),
getPoints(23));
g.drawLine(getPoints(77), getPoints(19), getPoints(77),
getPoints(23));
g.drawLine(getPoints(77), getPoints(19), getPoints(77),
getPoints(19));
// 1.freies Quadrat / oben
g.drawLine(getPoints(104), getPoints(19), getPoints(108),
getPoints(19));
g.drawLine(getPoints(104), getPoints(23), getPoints(108),
getPoints(23));
g.drawLine(getPoints(104), getPoints(19), getPoints(104),
getPoints(23));
g.drawLine(getPoints(108), getPoints(19), getPoints(108),
getPoints(23));
g.drawLine(getPoints(108), getPoints(19), getPoints(108),
getPoints(19));
// die Linie für den Text
g.drawLine(getPoints(113), getPoints(24), getPoints(207),
getPoints(24));
// 2.freies Quadrat / unten
g.drawLine(getPoints(104), getPoints(31), getPoints(108),
getPoints(31));
g.drawLine(getPoints(104), getPoints(35), getPoints(108),
getPoints(35));
g.drawLine(getPoints(104), getPoints(31), getPoints(104),
getPoints(35));
g.drawLine(getPoints(108), getPoints(31), getPoints(108),
getPoints(35));
g.drawLine(getPoints(108), getPoints(31), getPoints(108),
getPoints(31));
// die Linie für den Text
g.drawLine(getPoints(113), getPoints(36), getPoints(207),
getPoints(36));
g.setFont(fontOneBold);
// Einsatzdienststelle ,
// Einsatzdatum,
// Streifenbereich,
// Streifenbezeichnung
// Einsatzfahrzeug
g.drawString("Einsatzdienststelle:", getPoints(13), getPoints(50));
g.drawString("Einsatzdatum:", getPoints(13), getPoints(58));
g.drawString("Streifenbereich:", getPoints(13), getPoints(66));
g.drawString("Streifenbezeichnung:", getPoints(13), getPoints(77));
g.drawString("Einsatzfahrzeug", getPoints(114), getPoints(43));
...
.
...
.
...
}
/**
* Returns the pixels in order to the millimeter
*
* @param m
* @return Millimeter
*/
public int getPoints(int m) {
double wert = m * 2.83;
return (int) wert;
}
}